Tasuku SUENAGA
a****@razil*****
2007年 8月 10日 (金) 12:40:59 JST
末永です。
こんにちは。
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*****>