[Tritonn-dev 137] Re: "word*"という検索式の意味

Back to archive index

morit****@razil***** morit****@razil*****
2009年 9月 8日 (火) 01:20:20 JST


森です。

すみません。意図通りのコードになってませんでした。
'*'が指定された場合のみ無条件に前方一致検索を行うようにrev1299で修正しました。

なお、'arra'で検索した場合は、partialでもヒットしません。
英数文字列の場合は、(ngramでsplit_alphaを指定した場合を除けば)
前方一致のみが有効となっていません。

以上よろしくお願いいたします。

>>> Kazuhiko さんは書きました:
> morit****@razil***** wrote:
> > sennaのtrunk最新版(rev1298)にパッチを入れてみました。
> 
> どうもありがとうございます!
> さっそく試してみました。
> 
> garra * 1
> garrahan * 40
> 
> というデータに対する検索です。
> 
> mysql> select uid from full_text where MATCH
> (`full_text`.`SearchableText`) AGAINST ('garra');
> 
> 1.1.4 : 1 record
> r1298 : 1 record
> 
> mysql> select uid from full_text where MATCH
> (`full_text`.`SearchableText`) AGAINST ('garra' in boolean mode);
> 
> 1.1.4 : 1 record
> r1298 : 41 record
> 
> boolean modeの際、r1298ではアスタリスク無しでも部分一致検索をしているよ
> うです。この際、ログは
>   n=1 (garra)
>   hits(exact)=41
> と出力されています。これは、意図どおりの動作でしょうか?
> 
> mysql> select uid from full_text where MATCH
> (`full_text`.`SearchableText`) AGAINST ('garra*' in boolean mode)
> 
> 1.1.4 : 1 record
> r1298 : 41 record
> 
> boolean modeの際、r1298ではアスタリスク有りの場合、期待通りの動作になっ
> ています。
> この際、ログは
>   n=1 (garra*)
>   hits(exact)=41
> と出力されています。
> 
> mysql> select uid from full_text where MATCH
> (`full_text`.`SearchableText`) AGAINST ('arra' in boolean mode);
> 
> 1.1.4 : 0 record
> r1298 : 0 record
> 
> 1.1.4, trunkともに、ログは
>   hits(exact)=0
>   hits(unsplit)=0
>   hits(partial)=0
> となっています。このような中間文字列はpartialでもヒットしないのは意図ど
> おりの動作でしょうか?
> 
> というわけで、当初の問題は解決されましたが、一部、挙動が意図どおりかよく
> わからなかった部分があったので確認させてください。
> 
> よろしくお願いします。
> 
> かずひこ
> 
> _______________________________________________
> Tritonn-dev mailing list
> Trito****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/tritonn-dev
> 
--
morita




Tritonn-dev メーリングリストの案内
Back to archive index