問題を説明しましょう:
- 私が図書館を持っているとしましょう。図書館には多くの本があり、各本には章があり、各章には文字列が含まれています (文字列はドット "." で始まりドット "." で終わります)。
- 繰り返しますが、ライブラリ -> 本 -> 章 -> 文字列です。
- 本から文字列を抽出しました。これを「本の文字列」と呼びましょう。
- ユーザーが検索フォームに文字列を入力できるシステムがあり、システムは入力された文字列と完全に一致するものを「本の文字列」から返す必要があります。入力された文字列が books 文字列のどの文字列とも一致しない場合、何も返されません。
私はそれについて考え、解決策を見つけました。すべての本の文字列を MD5 し、ハッシュされた本の文字列を保存します。ユーザーが検索する文字列を入力すると、それもハッシュし、ハッシュされた書籍の文字列で一致するものを検索します。単純な検索よりも安価 (各文字列で 32 文字または 64 文字) であり、正確な一致のみを返します。
コメント、アイデア、より良い解決策はありますか?
PSそのようなアルゴリズムの名前は何ですか? 検索またはマッチング?