0

私はmysqlの全文検索に取り組んでいます。だから、ここに私のテーブルがあります:

id   title
1    iphone 4
2    iphone
3    4 iphone 3g
4    iphone 3gs

..などなど

全文検索でタイトル欄に特定のキーワードを含む行を取得しようとしています。「iphone 4」で検索しているところをイメージしてみましょう。デフォルトでは、全文検索の最小単語長は 4 です。したがって、数値 4 は無視されます。

フルテキスト インデックスの最小長を 1 に設定することもできますが、それではパフォーマンスが低下します。

それを達成する方法は?ご協力いただきありがとうございます!

4

1 に答える 1

1

全文検索はそのままで問題なく機能しますが、このような微調整は困難です。最小の長さを 1 に設定することはオプションです。検索が少し遅くなる可能性がありますが、サイトが大きくなったり、負荷が高くなるまで、このパフォーマンスへの影響は無視できる場合があります.

より多くのパフォーマンスが必要でありながらこの自由度が必要な場合は、Sphinx などの検索エンジンの使用を検討してください。

もう 1 つの「解決策」は、最初に全文検索を実行してから、それらの短いキーワードを検索して自分で結果をフィルタリングすることです。しかし、Sphinx が多かれ少なかれすぐに解決できることを考えると、それは大変な作業です。

于 2012-07-16T12:11:22.423 に答える