2

我想在大型数据库中找到与 COMPANYNAME 和 ADDRESSLINE1 等字段匹配的可能的候选重复记录

例子:

对于具有以下 COMPANYNAME 的记录:

  • “Acme, Inc.”

我希望我的查询将具有这些 COMPANYNAME 值的其他记录作为可能的重复值吐出:

  • “阿克米公司”
  • “Acme,合并”
  • “极致”

我知道如何进行连接、相关子查询等,以执行提取我想要的数据集的机制。我知道之前已经在这里介绍过。我有兴趣听到有关进行模糊搜索的最佳方法的想法 - 我应该使用全文索引还是 soundex 函数或其他我对此过程不知道的东西?(我使用的是 SQL Server 2005)

任何帮助表示赞赏!

4

3 回答 3

2

这当然取决于您的确切要求,但在 SQL 中使用 CONTAINS 可以让您执行邻近搜索以及主题和模糊搜索。

http://www.developer.com/db/article.php/3446891/Understanding-SQL-Server-Full-Text-Indexing.htm

http://msdn.microsoft.com/en-us/library/ms187787(SQL.90).aspx

于 2009-11-13T19:50:40.840 回答
1

我建议使用 SSIS 任务定期清理数据。SSIS 具有模糊匹配运算符,并且有提供更强大组件的第三方提供商。关于该主题的一些文章:

如果预算允许并且操作规模值得,您甚至可以考虑使用 MDS 服务器:SQL Server 2008 R2 Master Data Services

于 2009-11-13T19:48:16.737 回答
0

在http://www.melissadata.com/dqt/total-data-quality-integration.htm上还提供了一个新的 SSIS 数据质量工具包

于 2009-12-31T16:19:19.433 回答