メインコンテンツへスキップ
vsql_fuzzystrmatch は PostgreSQL の fuzzystrmatch 拡張機能の移植です。文字列のペアについて、2 つの異なる問いに答えます。似た音に聞こえるか、そして、いくつの編集で隔てられているかです。名前の照合、スペル修正、および手入力されたレコードの重複排除に使用します。

インストール

インストールスクリプト、Docker イメージ、またはリリース tarball で VillageSQL をインストールした場合、vsql_fuzzystrmatch.veb はすでにサーバーの lib/veb/ ディレクトリにあります。1 つのステートメントでサーバーにインストールします。
インストールされたことを確認します。
自分でビルドするには、リポジトリのビルド手順に従ってください。

追加される機能

例

同じ名前の 2 つの綴りは同じ Soundex コードを生成し、difference は一致を 4 点満点で採点します。
編集距離は、代わりに変更の数を数えます。
Metaphone は、Thompson の Th のように、綴りが隠す音を扱います。
MySQL には独自の SOUNDEX() があり、名前を修飾せずに書くと組み込み関数が優先されます。2 つは異なる結果を返します。SOUNDEX('Ashcraft') は A2613 を返し、vsql_fuzzystrmatch.soundex('Ashcraft') は A261 を返します。MySQL 版は任意の長さの文字列を返すと文書化されており、拡張機能版は 4 文字の Soundex の定義に従います。意図したほうを呼び出すには、拡張機能名で修飾してください。ここにある他の関数が隠されることはありません。
levenshtein_less_equal は、真の距離が指定した上限を超えた時点で停止し、真の距離が何であれ、上限に 1 を足した値を返します。上限が 2 のとき、3 離れたペアには 3 を返し、7 離れたペアにも 3 を返します。上限に 1 を足した値は「尋ねた範囲より離れている」と読んでください。

関連項目