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

Back to archive index

Kazuhiko kazuh****@fdiar*****
2009年 9月 7日 (月) 21:26:17 JST


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 メーリングリストの案内
Back to archive index