yukio ishi
ishi.****@gmail*****
2007年 8月 13日 (月) 12:11:35 JST
こんにちは、石野です。 senna.log には以下のように出力されました。 メモリ不足だとすると、1件のマッチにつきどの程度のメモリを使用するのでしょうか? ちなみにメモリ1GBのPCを使用して試しているのですが、その場合は何件程度のマッチまで 耐えられるか把握できると助かります。 ・1000単語のOR(12件ヒット) 08/13:10:41:44.162061|i| ft_init_boolean_search => sen_query_open: str='*DOR 草水 草摺 草瀬 草生 草生さ 草生し 草生しゃ ... 略 08/13:10:41:44.162285|d| ft_init_boolean_search => sen_query_rest: q=0x8a24e28, rest=0x41fe4f8c 08/13:10:41:44.162298|w| ft_init_boolean_search: too long query. rest(草津川 草津線 草津総合病院 草津電機 草津東 草津峠 ... 略 8/13:10:41:44.162396|d| ft_init_boolean_search => sen_records_open 08/13:10:41:44.162410|i| ft_init_boolean_search => sen_query_exec: i=0x89db780, q=0x8a24e28, r=0x8a175d8 08/13:10:41:44.162423|d| mode=0 option=0 w=5 o=0 08/13:10:41:44.162526|i| n=1 (草水) 08/13:10:41:44.162573|d| mode=0 option=0 w=5 o=0 08/13:10:41:44.162606|i| n=1 (草摺) 08/13:10:41:44.162863|d| mode=0 option=0 w=5 o=0 08/13:10:41:44.162881|d| mode=0 option=0 w=5 o=0 08/13:10:41:44.162897|d| mode=0 option=0 w=5 o=0 ... 略 08/13:10:41:44.163284|i| n=1 (草地) 08/13:10:41:44.163296|d| mode=0 option=0 w=5 o=0 08/13:10:41:44.163313|i| n=1 (草地) 08/13:10:41:44.163325|d| mode=0 option=0 w=5 o=0 08/13:10:41:44.163341|d| mode=0 option=0 w=5 o=0 08/13:10:41:44.163372|i| n=1 (草津) 08/13:10:41:44.163386|d| mode=0 option=0 w=5 o=0 08/13:10:41:44.163403|i| n=1 (草津) 08/13:10:41:44.163416|d| mode=0 option=0 w=5 o=0 08/13:10:41:44.163456|i| n=2 (草津港) 08/13:10:41:44.163470|d| mode=0 option=0 w=5 o=0 08/13:10:41:44.163500|i| hits(exact)=12 ・5000単語のOR(0件ヒット) 08/13:10:43:26.161732|i| ft_init_nlq_search => sen_index_sel index=0x89db780, string='*DOR 草水 草摺 草瀬 草生 草生さ ... 略 08/13:10:43:26.162447|i| sen_index_sel > (*DOR 草水 草摺 草瀬 草生 草生さ 草生し 草生しゃ 草生す 草生せ 草生せ 草生そ ... 略 08/13:10:43:26.163559|i| exact: 0 08/13:10:43:26.163964|i| unsplit: 0 08/13:10:43:26.164383|i| partial: 0 08/13:10:43:26.164396|i| hits=0 ・10000単語のOR(0件ヒット) 08/13:11:12:25.898474|i| ft_init_nlq_search => sen_index_sel index=0x89db780, string='*DOR 草水 草摺 草瀬 草生 草生さ ... 略 08/13:11:12:25.899846|i| sen_index_sel > (*DOR 草水 草摺 草瀬 草生 草生さ 草生し 草生しゃ 草生す 草生せ 草生せ 草生そ ... 略 08/13:11:12:25.901942|i| exact: 0 08/13:11:12:25.902747|i| unsplit: 0 08/13:11:12:25.903599|i| partial: 0 08/13:11:12:25.903614|i| hits=0 07/08/10 に Tasuku SUENAGA <a****@razil*****> さんは書きました: > > 末永です。 > こんにちは。 > > Sennaのログはどのように出力されていますでしょうか。 > > おそらくメモリ不足だと思われます… > ランダム値の場合にはマッチする結果が存在しないため、 > 結果が増えずメモリが不足しないものと予想します。 > > yukio ishi さんは書きました: > > こんにちは、石野です。お世話になります。 > > > > Senna+mysql+tritonnで、medab辞書の単語をDORの後に連結して、DBに蓄積してあったデータを検索しているのですが、 > > > > mysql> SELECT count(*) FROM table_name WHERE MATCH(column_name) > > AGAINST('*DOR 単語1 単語2 単語3 ... 略 ' in boolean mode); > > > > この連結する単語数を多くしていくと、単語1などがテーブルに存在していても検索結果が0件になってしまいます。 > > mecab辞書で試した場合は、 > > 1000単語のOR:12件ヒット > > 5000単語のOR:0件 > > 10000単語のOR:0件 > > > > という結果でした。 > > 文字列長に制限があるのかと思い、以下のように試してみたところ > > > > mysql> SELECT count(*) FROM table_name WHERE MATCH(column_name) > > AGAINST('*DOR 単語1 単語2 ランダム値 ランダム値 ... 略 ' in boolean mode); > > > > こちらは10000単語(文字列長は先ほどより長め)でも正常にヒットしました。 > > > > ご存知の方いらっしゃいましたらご教授願えませんでしょうか。どうぞよろしくお願い致します。 > > > > ■動作環境 > > Linux kernel 2.4.20 > > mysql-4.1.22 > > senna-1.0.4 > > tritonn-1.0.2.mysql-4.1.22.senna-1.0.4 > > テーブルはNGRAMで作成 > > > > -- > > ishi.yukio [at] gmail.com > --- > Tasuku SUENAGA <a****@razil*****> > > _______________________________________________ > Senna-dev mailing list > Senna****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/senna-dev >