Sphinx と Thinking Sphinx を使用して顧客データベースを検索しています。顧客のメタデータ (電子メール、電話番号など) は複数のテーブルにまたがり、Sphinx は顧客などに関するすべてのメモにインデックスを付けます。私が抱えている問題は、検索用語で始まるテキスト フィールドを検索で最初に表示することです。つまり、「hods」を検索すると、次の順序で結果が返されます。
- ホッズ
- ホッズ
- ホドソン
- メソッド
つまり、優先順位を付ける必要があります (大まかにこの順序で):
- フレーズの開始
- 完全な単語
- 単語の始まり
複合検索語 (例: "^hods | hods | hods* | *hods") を使用してこれを達成しようとしました。
このようなことで、適切な結果をすべて確実に見つけることができますが、ランク付け方法には影響しないようです!! ドキュメントにも有用なものが見つかりません!!
何か案は?これはSphinxで可能ですか?これが可能な他の検索ソリューションはありますか?