我如何匹配不同的邮政地址?

时间:2012-09-06 18:28:47

标签: c#

我要求在导入过程中匹配美国邮政地址。问题是地址线可以用几种不同的方式输入。例如:

123 Main Street

123 Main St。

123 Main St

如何标准化地址以便我可以进行匹配?我们一次导入10,000个地址,因此我不想使用Google,Yahoo或USPS等服务。是否有用于地址标准化的开源或商业库,而不是COM组件?我不在乎地址是否真实,我所关心的只是匹配。

1 个答案:

答案 0 :(得分:6)

这类事情非常复杂。有些公司完全基于提供此功能。

我不建议接受此操作,现有的库和服务可以执行此操作:

https://www.usps.com/business/address-management-products.htm

http://smartystreets.com/products/liveaddress-api

如果这些不是选项,并且如果引用的链接(http://stackoverflow.com/questions/824588/address-match-key-algorithm)对您没有帮助,那么您基本上必须煮沸所有内容一些共同点。例如将字符串拆分为组成部分(街道编号,街道编号后缀,单元/套房编号,街道名称,街道类型和街道方向)。然后,将每个可能的缩写(如果适用)转换为该公分母。对于街道类型“St.”,您可以选择“街道”作为共同点,在这种情况下,您将转换为“St.”或“St”到“Street”然后进行任何匹配 - 假设数据库中的所有数据都包含该街道类型的“街道”。