Gav*_*vin 5 php mysql comparison
我正在使用一些相当大的数据建立已建立的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'
Run Code Online (Sandbox Code Playgroud)
源2
address1 = 'Flat N'
address2 = 'Richmond Hill Gate'
address3 = '1 Richmond Hill Drive'
postcode = 'BH2 6LT'
Run Code Online (Sandbox Code Playgroud)
由于这是一个已建立的应用程序,因此该重复项已经存在于地址表中,我必须对其进行处理,而且还会不断导入新数据并将其与地址记录相关联。
因此,我正在寻找一种确定性的(几乎是确定性的)方法来比较格式略有不同的地址,这也是一种性能(十亿行数百万的数据)。
到目前为止,我已经考虑过计算一个标识字段,该字段可以增加到现有数据中,并针对新的导入进行计算,例如,可以将3个地址字段连接在一起,并删除所有标点符号,或者可能只是数字。或...任何想法,深表感谢。
小智 1
您必须将所有地址转换为标准化地址格式,如 @chris 所说。我认为您无法在数据库中“即时”执行此操作。您将依赖代码来执行此操作并将结果存储在数据库中。您遇到的最大问题是您拥有的数据缺乏完整性:具有或不具有邮政编码的相同地址;邮政编码相同但街道名称或城市不同的地址;具有不同邮政编码的相同地址;街道名称的书写方式不同,“W Churchill Ln”与“Winston Churchill Lane”。您将需要模糊逻辑来让计算机决定什么是正确的。来自不同来源的数据可能在每个来源的格式上是一致的,您可能会以某种方式从中受益。另一件事是,一个来源将比其他来源更可靠,您也可以利用它来发挥自己的优势。
| 归档时间: |
|
| 查看次数: |
1092 次 |
| 最近记录: |