私のmysqlデータベースには2,000,000の文字列があります。さて、新しい文字列が入力されると、その文字列が既にデータベースにあるかどうかを調べようとします。そうでない場合は、文字列を挿入します。
文字列一致の定義
私の場合、テキスト内の単語の位置は問題ではありません。すべての単語のみが文字列に含まれ、どちらの文字列にも余分な単語が含まれないようにする必要があります。
例 - Ram is a boy AND boy is a Ramが一致すると言われます。ラムは似合わないいい子です。
PS - 意味を無視してください
さて、私の質問は、一致する必要がある文字列の数(2,000,000)を考慮して、これらの一致を行う最良の方法は何ですか.
私が考えることができる解決策:
- SOLR/Sphinx のすべての文字列にインデックスを付ける
- 新しい検索では、検索サーバーにヒットするだけで、最大で上位 10 個の文字列を考慮する必要があります
利点:-
- mysql 全文検索よりも高速
短所: -
- mysql データベースの新しいクエリで検索サーバーを最新の状態に保ちます。
私が行くことができる他のより良い解決策はありますか? これに取り組むための提案とアプローチは大歓迎です:)
ありがとう !