私はプロジェクトを構築しており、部分的なテキスト一致に基づく結果をオートコンプリート フィードに提供する超高速の方法が必要です。
データベースの 1 つのフィールドのみをインデックス作成/検索しますが、データベース行には追加のデータが含まれますが、これらのフィールドにはインデックスを作成しません。私は約を持っています。25k 行。
要件:
- フィールド内のどこにでも一致する必要があります (Lorem Ipsum Dolor Sit Amet は、「Lor」、「Ipsum」、「olor」、「Sit Amet」と入力し始めると見つかります)
- 結果を JSON フィードで非常に迅速に返す必要があります (ただし、データの元のソースはそれほど重要ではありません)。
- 高トラフィック向けのスケーラブルなソリューション
いくつかのオプションを検討しました...
- mongoDB でのクエリのような MongoDB の使用
- エラスティックサーチ - 私がしなければならないことに対して少しやり過ぎかどうかわからない、そして上記のように部分的なテキストに一致する例を見たことがない
- SQL LIKE クエリですが、これが十分に高速ではないことを想像してみてください。
プログラミング言語はそれほど問題ではありませんが、Python または PHP が望ましいでしょう。