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