アプリで名前を検索して、類似した名を返すことができるようにしたいと思います。つまり、ユーザーがJohnを検索した場合、Jonathanも返されるはずです。
Soundex検索はこれを行わないようです。関連する名前の辞書を保存する以外の方法はありますか?
アプリで名前を検索して、類似した名を返すことができるようにしたいと思います。つまり、ユーザーがJohnを検索した場合、Jonathanも返されるはずです。
Soundex検索はこれを行わないようです。関連する名前の辞書を保存する以外の方法はありますか?
いいえ、ありません-類似性の解釈を探しているので、似たようなものではありません。選択肢を維持することが唯一の選択です。
Levenshtein Edit Distanceを確認し、ターゲット文字列と比較して編集距離が短い文字列を探す必要があります。
SQLServer向けの詳細情報と実装は次のとおりです。
http://www.kodyaz.com/articles/fuzzy-string-matching-using-levenshtein-distance-sql-server.aspx
編集距離は、ターゲット文字列を取得するために文字列に対して行う必要のある編集(文字の削除、置換、または挿入)の最小数を示します。
したがって、たとえば、「apple」と「aple」の編集距離は1になります(「p」の削除)。
kodyaz.comのコードは、sqlteam.com/forumsのArnoldFribbleからの投稿を指して います。この質問のコードは2009年のものです。