文字列の値(サードパーティツールからのキーワード)を含む表の列があります。私は、おそらく単一の値に正規化できる類似の値のクラスタを識別するための自動化されたツールに取り組んでいます。たとえば、 "Firemen"/"Fireman"、 "Isotope"/"Asotope"、 "Canine"/"Canines"などです。SQLで類似の値を見つけるための実践的なテクニックはありますか?
levenshtein距離を計算する方法は、文字列の操作/比較が多すぎることを除いて理想的です。おそらくSQLインデックスの使用率が低くなります。
私は、列の左(X)文字で段階的にグループ分けすることを検討しました。これは、索引の使用を最大限にするほど悪くない方法ですが、このアプローチは、言葉の終わり。
誰でも、この問題をSQLで効率的に解決するための良いアイデアがありますか?
注:この質問は(Finding how similar two strings are)と非常によく似ていますが、ここではSQLでこれを効率的に行う必要があることに気付きました。
Soundexが複数の言葉をどれくらいうまく解決したかについての経験はありますか? "消防士"や "消防士"にはうまくいくかもしれないが、おそらく "犬用"/"犬用"にはあまり好きではないだろう。 – JohnFx