2010-02-24 43 views
2

我正在將幾個大的ETL過程從SSIS轉換到Rhino-Etl。我厭倦了SSIS的「grahical programming」特性。通過數百個對話框來查找ETL過程正在做什麼變得匆忙。對於普通的.Net代碼,是否有任何替代方法可用於SSIS模糊查找?

幾個SSIS包使用模糊匹配組件根據名字,姓氏和DOB加入用戶帳戶。模糊匹配是必要的,因爲名稱在兩個系統中總是拼寫不一樣。可能有一個合法名稱,另一個暱稱,拼寫錯誤,婚姻名稱更改等。

SSIS模糊查找組件確實可以處理這些問題。這並不完美,但它仍然大大減少了需要人工幫助的記錄數量。

.Net和Rhino-Etl都沒有這樣的盒子,所以我在尋找建議。

我曾嘗試使用SoundEx t-sql函數,但它不會產生非常好的結果。

我目前正在考慮使用Levenshtein或可能的Lucene.Net索引。

有人對此有任何建議嗎?請隨時提出一些完全不同的建議。

回答

0

我們使用Levenshtein在我們的應用程序代碼(實際上是一個包含所有字符串的數據庫)中查找類似的字符串。它可以很好地工作,只要你在距離上玩一下,例如允許更長的字符串有更多的差異。

Levenshtein不做的是處理同義詞,如「孩子」和「孩子」或「汽車」和「旅行車」。在你的情況下,你可能也想要處理像「Bill」和「William」這樣的同義詞,所以你可能必須自己添加它。

1

看看開源項目Sam's String Metrics http://www.dcs.shef.ac.uk/~sam/stringmetrics.html

我回答了類似的問題在這裏: Are there any Fuzzy Search or String Similarity Functions libraries written for C#?

我也會做一些研究雙音位http://en.wikipedia.org/wiki/Double_Metaphone

+0

我還沒有實際挖成這個庫,但它似乎將符合要求。不幸的是用Java編寫,而不是.Net。 – 2010-07-28 15:20:34

+0

有一個.net版本。它在下載頁面上 – Zaffiro 2010-08-02 16:33:01

相關問題