100 万を超えるアイテム (潜在的にはそれ以上) を保持する文字列 (任意の長さ) のデータベースがあります。
ユーザーが指定した文字列をデータベース全体と比較し、存在する場合は同一の文字列を取得するか、最も近いあいまい一致 (60% 以上の類似性) を返す必要があります。検索時間は、理想的には 1 秒未満である必要があります。
私の考えは、長さに基づいてデータベースから候補を絞り込んだ後、各データベース文字列を検索文字列と比較するために編集距離を使用することです。
ただし、この操作を頻繁に実行する必要があるため、db 文字列のインデックスを構築してメモリに保持し、db を直接ではなくインデックスをクエリすることを考えています。
この問題に別の方法でアプローチする方法、またはメモリ内インデックスを構築する方法についてのアイデアはありますか?