2012-04-01 11 views
0

私はMySQLデータベースを使用しています。は今ft_min_word_lenが古くなっていますか?

私は、ユーザーが基本的に購入したい製品を検索できる製品データベースを持っています。

ユーザーが「新しいipad」または「ipad 4g」を検索すると、最も関連性の高い結果が最初に返されますが、返されている結果は完全なものであるため不正な検索に問題があります索引は4文字以上の単語のみを索引付けします。

方法はありますか? ft_min_word_len変数を4ではなく2文字に変更してから再インデックスすると、大量のパフォーマンスが低下しますか?

答えて

0

ft_min_word_lenを減らすことはできますが、そのテーブルだけでなく、そのサーバーのすべてのMySQLデータベースのすべてのテーブルに影響します。

2番目のオプションは、Sphinxのような全文検索エンジンで、これにはオプションがあります。

3番目のオプションは、検索語句に基づいて検索クエリを変更することです。プログラム側では、テキストがft_min_word_lenより小さいかどうかを検出します。表示されている場合は、LIKE /% %/でクエリを実行します。それ以外の場合は、全文検索を使用します。

関連する問題