ホームページ >データベース >mysql チュートリアル >MySQL のレーベンシュタイン距離によるあいまい一致により、会社名の自動補完はどのように改善されるのでしょうか?
背景:
ユーザーは会社名を次のように入力します大きな文字列の一部であるため、システムは会社名の既存のデータベースとの照合プロセスを自動化する必要があります。単純な文字列マッチングは時間がかかることがありますが、精度とパフォーマンスを維持するための最適なソリューションを見つけることが重要です。
Soundex Indexing:
SOUNDEX() は、生成する MySQL 関数です。最初の数文字に基づいた文字列の音声表現。これにより、似た響きの会社名の検索が高速化されます。ただし、次のような制限があります。
レーベンシュタイン距離:
レーベンシュタイン距離は、文字列の挿入、削除、置換を考慮した文字列の類似性のより高度な尺度です。このアプローチでは柔軟性が高まりますが、より多くの計算が必要になります。
実装:
MySQL でレーベンシュタイン距離によるファジー マッチングを実装するには、利用可能なストアド関数のようなストアド関数を使用できます。 codejanitor.com で。この関数は 2 つの文字列を入力として受け取り、それらのレーベンシュタイン距離を返します。
一致例:
// Calculate the Levenshtein distance between two names $distance = levenshtein_distance('Microsoft', 'Microssift'); // Define a threshold for acceptable matches $max_distance = 2; if ($distance <= $max_distance) { // Suggest the closest match from your database $fuzzy_match = get_fuzzy_match('Microssift'); } else { // No close match found, suggest no matches $fuzzy_match = array(); }
追加の考慮事項:
以上がMySQL のレーベンシュタイン距離によるあいまい一致により、会社名の自動補完はどのように改善されるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。