2

いくつかの大規模な ETL プロセスを SSIS から Rhino-Etl に変換しています。私は、SSIS の「グラフィカル プログラミング」の性質にうんざりしていました。ETL プロセスが何を行っているかを把握するために何百ものダイアログ ボックスを調べていても、すぐに飽きてしまいます。

SSIS パッケージのいくつかは、Fuzzy Match コンポーネントを使用して、名、姓、および生年月日に基づいてユーザー アカウントを結合します。あいまい一致が必要なのは、2 つのシステム間で名前のつづりが常に同じであるとは限らないためです。一方に正式な名前があり、もう一方にニックネームがある、タイプミス、結婚の名前の変更などがあるかもしれません.

SSIS ファジー ルックアップ コンポーネントは、これらを適切に処理します。完璧ではありませんが、人間の助けが必要なレコードの数は大幅に減少します。

.Net も Rhino-Etl も、すぐに使えるこのようなものを持っていないので、提案を探しています。

SoundEx t-sql 関数を使用してみましたが、あまり良い結果が得られません。

現在、Levenshtein または Lucene.Net インデックスの使用を検討しています。

誰かがそれらのいずれかについてアドバイスを持っていますか? 全く違うものもお気軽にご提案ください。

4

2 に答える 2

1

オープンソースプロジェクトのSam'sStringMetricshttp://www.dcs.shef.ac.uk/~sam/stringmetrics.htmlをご覧ください

私はここで同様の質問に答えました: C#用に書かれたあいまい検索または文字列類似関数ライブラリはありますか?

DoubleMetaphoneについても調査しますhttp://en.wikipedia.org/wiki/Double_Metaphone

于 2010-07-18T23:17:03.690 に答える
0

レーベンシュタインを使用して、アプリケーション コード (実際にはすべての文字列を含むデータベース) で類似の文字列を見つけます。距離を少し調整すれば、非常にうまく機能します。たとえば、長い弦にはより多くの違いを持たせることができます。

レーベンシュタインが行っていないのは、"child" と "kid"、または "car" と "wagon" などの同義語の処理です。あなたの場合、おそらく「Bill」や「William」などの同義語も処理したいので、おそらくこれを自分で追加する必要があります。

于 2010-02-25T10:47:33.150 に答える