Haruhiko Mitsuya
3arro****@gmail*****
2008年 6月 16日 (月) 02:26:58 JST
末永様 お忙しいところ、丁寧なご説明ありがとうございます。 本メールに加えて、末永様のブログエントリー等も拝見し、仕様を 理解いたしました。 例えば、 製品カタログ検索のようなケースでは、SPLIT_ALPHA, SPLIT_DIGIT, SPLIT_SYMBOLの指定を行った方が良さそうですね。 ご回答、ありがとうございます! 2008/06/14 23:05 Tasuku SUENAGA <a****@razil*****>: > Tritonnのデフォルトでは、 > アルファベット・数字・記号の場合はbi-gramではなく、 > tokenでインデックス作成を行うように設定されています。 > > 一般的な用途である、文章を検索する目的に最適化するためです。 > > 前方一致だけでよければ、以下の手法が使えます。 > 1. '*D-7'をクエリに指定することによって、 > 前方一致の検索はできると思います。 > MATCH(col1) AGASINST('*D-7 ca' IN BOOLEAN MODE); > > 完全に一致させたいのであれば、以下の手法が使えます。 > 2. インデックス作成時に、SPLIT_ALPHA, SPLIT_DIGIT, SPLIT_SYMBOL > を指定してください。 > CREATE FULLTEXT INDEX ft > USING NGRAM, SPLIT_ALPHA, SPLIT_DIGIT, SPLIT_SYMBOL > ON table1 (col1); > > Haruhiko Mitsuya さんは書きました: >> お世話になっております。みつやと申します。 >> >> Senna(Tritonn)のNGRAMインデックスを利用している場合の >> キーワードマッチ条件について調べております。 >> >> >> >> 今のところ、最新のTritton1.0.9の設定を規定値で動作させております。 >> >> インデックスも規定値で作成していますので、n-gram(Sennaの規定値で >> おそらくbigram?)形式になっているはずです。 >> >> >> n-gramであればmecabで動作させている場合にくらべて、辞書に無い >> キーワードでもヒットし易いはずと考えておりました。 >> >> >> ところが、英単語の一部分などで検索をかけると、結構な割合で検索 >> 漏れが発生してしまいます。 >> >> 例えば、 >> >> cards >> audio >> >> では検索ヒットしますが、 >> >> >> ca >> aud >> >> >> ではヒットしません。 >> >> >> >> TCD-12 >> KH-Y54 >> >> >> このようなありがちな製品IDのような文字列もヒットしたり、ヒット >> しなかったりします。 >> >> >> >> >> [Senna-dev 664] NGRAM での英数字の部分一致検索について >> http://lists.sourceforge.jp/mailman/archives/senna-dev/2007-August/000663.html >> >> >> ここでも説明されているように、純粋にn-gram化されているわけではない >> ように感じられるのですが、規定値の動作としては、実際のところどのような >> 仕様になっているのでしょうか。 >> >> >> ※公式サイトなどを探してみましたが、そのものズバリと思えるような解説 >> ページなどは見つけられませんでした。。 >> >> >> もし、どなたかご教示頂けましたら誠に幸いです。 > --- > tasuku <a****@razil*****> > > _______________________________________________ > Senna-dev mailing list > Senna****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/senna-dev > バグ報告方法:http://qwik.jp/senna/bug_report.html >