私はPHP(MySQLバックエンド)でプロトタイプのオークション/リストプロジェクトを書いています。
リストテーブル(listings)と、各アイテムを説明する複数のキーフレーズを持つキーフレーズテーブル(listings_keyphrases)があります。各リストには複数のキーフレーズ(必要な数)がありますが、各キーフレーズの文字数は20文字に制限されています。
したがって、listings_keyphrasesには、たとえば、1つのリストに対して6つの行があり、それぞれに異なるキーフレーズが含まれている可能性があります。Listings_keyphrasesテーブルのキーフレーズは順序付けられています。
次のような検索機能を実装したいと思います。
- 特定のアイテムに関連するすべてのキーフレーズを検索します
- 以下に基づいて結果を並べ替えます。
- フレージング(検索フレーズが特定のキーフレーズと完全に一致する場合)
- キーフレーズの順序(検索が位置1のキーフレーズと一致する場合は、より関連性が高いと思います)。
MySQL FULLTEXTと他のいくつかのオプションを調べましたが、今後の最善の方法がわかりませんでした。何か案は?