2

我正在将几个大型 ETL 流程从 SSIS 转换为 Rhino-Etl。我厌倦了 SSIS 的“图形编程”性质。在数百个对话框中寻找 ETL 过程正在做什么会很快过时。

一些 SSIS 包使用模糊匹配组件根据名字、姓氏和 DOB 加入用户帐户。模糊匹配是必要的,因为名称在两个系统中的拼写并不总是相同。一个可能有合法名称,另一个可能有昵称、拼写错误、婚姻名称更改等。

SSIS 模糊查找组件可以很好地处理这些问题。它并不完美,但它仍然大大减少了需要人工帮助的记录数量。

.Net 和 Rhino-Etl 都没有这样的开箱即用的东西,所以我正在寻找建议。

我曾尝试使用 SoundEx t-sql 函数,但效果不佳。

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

有人对其中任何一个有什么建议吗?请随时提出完全不同的建议。

4

2 回答 2

1

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

我在这里回答了一个类似的问题: Are there any Fuzzy Search or String Similarity Functions librarywritten for C#?

我也会对双重 Metaphone 做一些研究http://en.wikipedia.org/wiki/Double_Metaphone

于 2010-07-18T23:17:03.690 回答
0

我们使用 Levenshtein 在我们的应用程序代码(实际上是一个包含所有字符串的数据库)中查找相似的字符串。它的效果非常好,前提是您可以稍微弹奏一下距离,例如让更长的琴弦有更多的差异。

Levenshtein 不做的是处理同义词,例如“child”和“kid”或“car”和“wagon”。在您的情况下,您可能还想处理“Bill”和“William”等同义词,因此您可能必须自己添加它。

于 2010-02-25T10:47:33.150 回答