[Senna-dev 656] Re: DORで数千単語を検索すると検索結果が0件になる

Back to archive index

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*****>




Senna-dev メーリングリストの案内
Back to archive index