2012-02-23 13 views
1

私のアプリが名前を検索し、同様のファーストネームを返すことを許可したいと思います。私。ユーザーがJohnを検索すると、Jonathan'sも返されます。Sql Server Soundex名前検索

Soundex検索ではこれが行われていないようです。関連する名前の辞書を保存する以外の方法がありますか?

+0

この例では、4文字の両方のsoundexは同じ値を与えます – kaj

+0

@KAJしかし、それはこれらの特定の名前の1つのケースです。私はこれが、基本的なSQL関数ではないアプリケーションドメインについてのより多くの情報を持つ人々にまで及ぶと考えています。 – Yuck

+0

なぜ私はそれを答えとして提供していないのですか:-) – kaj

答えて

0

あなたはLevenshtein Edit Distanceを見て、ターゲットの文字列と比較して低い編集距離の文字列を探してください。ここで

は、SQL Serverのそれの詳細と実装である

http://www.kodyaz.com/articles/fuzzy-string-matching-using-levenshtein-distance-sql-server.aspx


編集距離は、あなたがに文字列を作成する必要があるの編集(文字の削除、交換または挿入)の最小数を示しますターゲット文字列を取得します。

たとえば、 'apple'と 'aple'の編集距離は1です( 'p'の削除)。

1

いいえ、似たようなものではなく、類似性の解釈を探すためではありません。代替案を保持することが唯一の選択肢です。

関連する問題