使用SQL Server 2005进行模糊匹配可能重复的良好SQL策略

时间:2009-11-13 19:42:15

标签: sql-server-2005 fuzzy-search

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

示例:

对于包含以下COMPANYNAME的记录:

  • “Acme,Inc。”

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

  • “Acme Corporation”
  • “Acme,Incorporated”
  • “的Acme”

我知道如何进行连接,相关子查询等操作来拉动我想要的数据集。我知道之前已经介绍过了。我有兴趣听取关于进行模糊搜索的最佳方法的想法 - 我应该使用全文索引还是soundex函数或我不了解此过程的其他内容? (我使用的是SQL Server 2005)

感谢任何帮助!

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

此外,http://www.melissadata.com/dqt/total-data-quality-integration.htm

还提供了新的SSIS数据质量工具包