我正在使用一些相当大的数据建立已建立的php mysql Web应用程序。
作为数据管理例程的一部分,有关地址的新数据将从两个不同的来源添加到数据库(导入)中。
此数据中的所有地址都来自英国。
addressRecord.address1 = address1 AND addressRecord.postcode = postcode
在插入新地址或将记录与现有地址关联之前,该应用程序已用作冲突检测。
麻烦的是碰撞测试还不是结论性的。由于两个不同的数据源提供了一些不同的地址格式。
源1
address1 = 'FLAT N, RICHMOND HILL GATE, 1' address2 = 'RICHMOND HILL DRIVE' address3 = 'BOURNEMOUTH' postcode = 'BH2 6LT'
源2
address1 = 'Flat N' address2 = 'Richmond Hill Gate' address3 = '1 Richmond Hill Drive' postcode = 'BH2 6LT'
由于这是一个已建立的应用程序,因此该重复项已经存在于地址表中,我必须对其进行处理,而且还会不断导入新数据并将其与地址记录相关联。
因此,我正在寻找一种确定性的(几乎是确定性的)方法来比较格式略有不同的地址,这也是一种性能(十亿行数百万的数据)。
到目前为止,我已经考虑过计算一个标识字段,该字段可以增加到现有数据中,并针对新的导入进行计算,例如,可以将3个地址字段连接在一起,并删除所有标点符号,或者可能只是数字。或...任何想法,深表感谢。