postgresでは、 fuzzystrmatchを使用できます パッケージ。 levenshtein
を提供します 2つのテキスト間の距離を返す関数を使用すると、次の述語の例を使用してあいまい一致を実行できます。
where levenshtein(street_address, '123 Main Avex') <= 1
「123MainAve」と「123MainAvex」の間の距離は1(1挿入)であるため、これはすべてのレコードに一致します。
もちろん、値1
これは単なる例であり、非常に厳密にマッチングを実行します(1文字のみの違い)。より大きな数値を使用するか、@ IVO GELOVが推奨するものを使用する必要があります-相対距離(距離を長さで割ったもの)を使用します。