空港を説明するエントリを含む MySQL MyISAM テーブルがあります。このテーブルには、コード、名前、およびタグの 3 つの varchar 列が含まれています。
code は空港のコード (JFK や ORD など) を参照し、name は空港の名前 (John F Kennedy や O'Hare など) を参照し、tag は空港に関連付けられているタグのセミコロン区切りのリスト (NYC や New York など) を指定します。 ;およびシカゴ;)。
コード、名前、またはタグのいずれかで (オートコンプリートのために) 空港を検索できるようにする必要があるため、(コード、名前、タグ) に FULLTEXT インデックスを設定します。
これまでに FULLTEXT で 2 つの問題が発生したため、作業ができませんでした:
1. 部分一致を行う方法はありません - 後置一致のみです (これは本当ですか?
)照合する用語によって、照合の動作が異なります。ピリオドは特別な方法で解析されていると想定しています。たとえば、NYC で FULLTEXT 検索を実行しても JFK は返されませんが、New York で同じ検索を実行すると JFK は返されます。
これらの障壁を克服する方法はありますか?それ以外の場合は、代わりにマッチングを検討する必要がありますlike
か、それともまったく異なるストレージ エンジンを検討する必要がありますか? ありがとう!