我想从数据库中过滤出重复的客户名称。单个客户可能有多个具有相同名称的系统条目,但拼写差异很小。因此,这是一个示例:名为Brook的客户可能在系统中有三个条目
具有以下变化:

  • Brook Berta
  • 布鲁克·贝塔(Bruck Berta)
  • Biruk Berta

  • 假设我们将此名称放在一个数据库列中。
    我想知道识别这种重复形式(例如100,000条记录)的不同机制。我们可以在C#中使用正则表达式来遍历所有记录或某种其他模式匹配技术,或者可以将这些记录导出到最适合此类查询的条件(具有正则表达式功能的SQL)。

    这就是我认为的解决方案
  • 编写一个C#代码以遍历每个记录
  • 仅按顺序获取辅音字母(在上述情况下:BrKBrt)
  • 考虑其他记录,从其他记录中搜索相同的辅音模式
    类似的发音字母,例如(C,K)(C,S),(F,PH)

  • 因此,请提出任何想法。

    最佳答案

    Double Metaphone算法于2000年发布,是Soundex算法的新改进版,该算法于1918年获得专利。

    本文提供了多种语言的Double Metaphone实现的链接。

    10-06 07:17