2009-07-30 4 views
1

は、 "PRマネージャー" と "MSワード" などの2文字のフレーズにFULLTEXT検索を行うために、私は、MySQLの設定ファイル(の/ etc/mysqlの/私にft_min_word_len = 2を追加しました。 cnf)。MySQL FULLTEXTの検索にft_min_word_len = 2を設定することについては何か恐ろしいことはありますか?

これには特に問題はありますか?パフォーマンスが低下するか?大規模なデータセットへのスケーリングを防ぐことはできますか?

コメントをいただければ幸いです。

+0

あなたのバージョンは何ですか?この設定は最新のmysqlでも引き続きサポートされていますか? –

答えて

2

いいえ、フルテキスト辞書のサイズを増やすだけで検索のパフォーマンスに特に影響はありません。

2

すべての2文字の組み合わせをインデックスする必要があります。これにより、検索インデックスのサイズが大きくなり、インデックス作成プロセスが遅くなります。検索自体の速度にはあまり影響しません。あなたはまた、より多くの言葉に遭遇して、ストップワードとなり、発見不能になるかもしれません。 「PR」と「MS」がストップワードになることはほとんどありませんが、FTSは通常は大文字と小文字を区別しないので、「IT」は非常に可能性があります。

1

documentationによれば、min_word_lenはインデックスサイズのみを縮小します。

FYI min_infix_lenは別の話です。 2.0.1-beta以上と仮定すると、Sphinxはdict=keywordsを使用しています。

知るには、2つのものがあります:

  • とすぐにmin_infix_len指定するよう、スフィンクスは中置/サフィックスの検索を可能にするために単語の接尾辞を格納します。

  • min_infix_lenを小さくしても、インデックスのサイズは小さくなりません(以前ののcrcインデックスと同じです)。これは、すべての単語サフィックスを保存する必要があるためです。そのため、min_infix_lenはの結果はに減少し、インデックスのサイズは減少しません。

+0

TomはSphinxではなくMySQL Fulltextについて質問していました。 – Martin

+0

Huh。そのアイデアをどこで得たのか...それを指摘してくれてありがとう! – Timo

関連する問題