レーベンシュタイン距離を使用した近似一致のデータベース コンテンツの検索
データベースを検索するときに、特にスペルミスや誤字脱字に対処する場合、近似一致を取得するのは困難な場合があります。不完全な検索語。レーベンシュタイン距離メトリックは 2 つの文字列間の類似性を定量化し、文字列の近似一致に役立つツールとなります。
レーベンシュタイン距離について理解する
レーベンシュタイン距離は挿入数を測定します。 、ある文字列を別の文字列に変換するには、削除、または置換が必要です。距離が小さいほど、一致が近いことを示します。たとえば、置換する必要があるのは 1 文字だけであるため、「smith」と「smithe」の間のレーベンシュタイン距離は 1 です。
MySQL での実装
一方、MySQL には次のような機能がありません。レーベンシュタイン距離のネイティブ サポート。ユーザー定義関数を通じてこの機能を統合する方法がいくつかあります。 (UDFs):
検索クエリとの統合
レーベンシュタイン距離 UDF が設定されると、実装されている場合は、以下を使用して MySQL 検索クエリに組み込むことができます。構文:
SELECT * FROM table WHERE LEVENSHTEIN_DISTANCE(column_name, 'search_term') <= 1
このクエリは、column_name フィールドの値が search_term から 1 (または別の指定されたしきい値) 以内にあるすべての行をテーブルで検索します。
制限と代替手段
レーベンシュタイン距離は類似のものを見つけるための多用途ツールです文字列を使用する場合、ネイティブ サポートがないため、MySQL での実装は困難で制限される可能性があります。代替アプローチには、サードパーティのライブラリを使用するか、音声ハッシュ技術を採用することが含まれます。
以上がレーベンシュタイン距離を使用して MySQL データベース内でおおよその一致を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。