SQL Server (2000) のSoundex 関数はアジア文字セットで動作しますか? クエリで使用しましたが、正しく機能していないように見えますが、中国語の読み方がわからないことが原因である可能性があることに気付きました...
さらに、関数がうまく動作しない可能性のある他の言語はありますか? (ロシア語など)
ありがとう、
フランク
SQL Server (2000) のSoundex 関数はアジア文字セットで動作しますか? クエリで使用しましたが、正しく機能していないように見えますが、中国語の読み方がわからないことが原因である可能性があることに気付きました...
さらに、関数がうまく動作しない可能性のある他の言語はありますか? (ロシア語など)
ありがとう、
フランク
Soundex はかなり英語に固有のものです。他の言語ではうまく機能する場合とそうでない場合があります。ニュージーランドで起こった 1 つの例は、Soundex を使用した患者名の照合の試みでした。残念ながら、太平洋の島の名前は、Soundex ではうまく機能せず、多くの場合、同じ小さな値のセットにハッシュ化されていました。別のアルゴリズムを使用する必要がありました。
あなたのマイレージは異なる場合があります。最近のバージョンの SQL Server では、CLR 関数を記述して他の計算を行うことができます。
以前のバージョンの SQLServer の soundex は、英語以外の文字を無視していたことを知っています。よりエキゾチックなものは言うまでもなく、Latin-1 も処理していないと思います。
私は SQL2k で soundex をあまり扱ったことがありません。確かなことは、アラビア語を正しく処理しないということだけです。これは、他の非ラテン文字セットにも拡張される可能性があります。
いずれにせよ、soundex ベースのアルゴリズムは、文字セットの問題を除けば、英語以外の言語に対して許容できる結果をもたらす可能性は低いです。Soundex は、名前 (主に西ヨーロッパ起源のもの) の英語の発音を処理するように特別に設計されており、その用途以外では特にうまく機能しません。問題の言語に対応するように設計された、soundex またはその他の無関係な音声類似性アルゴリズムのいくつかのバリアントのいずれかを調査する方がよい場合がよくあります。
設計上、ASCII 文字セットを使用した英語の文に最適に機能します。私はルーマニアのプロジェクトで、ルーマニアの特殊文字を多かれ少なかれ同じように聞こえる対応する ASCII 文字に置き換えたプロジェクトで使用しました。完璧ではありませんが、私の場合は何もないよりはましでした。
アジアの文字セットに SOUNDEX を適用しても、うまくいくとは思えません。