处理多个公司地址格式的地址规范化



我正在构建一个平台,该平台与20多个供应商API集成,用于特定位置的产品。当我们开始构建产品时,我们注意到,对于同一地址,我们从一些供应商那里得到的位置与其他供应商不同。此外,与其他合作伙伴数据库相比,同一地址可能有不同的电话和/或电子邮件。

Ex。W街5号或West街5号是同一地址;但是,供应商的记录不同OR 107 Maple Dr有来自不同供应商的电话555-555-5555和444-444-4444

我很好奇如何最好地设置一个数据库,该数据库可以处理特定的差异,并将它们全部关联到我们内部的位置/电话/电子邮件主表中。不过,为了给他们打正确的电话,我们必须将我们的地址/电话/电子邮件转换为他们的确切格式。我觉得这里必须有一个关于规范化的最佳实践,而不是存储20多个不同的地址表。任何想法都将不胜感激。

除非这将是您的核心能力,否则请使用第三方。如果你不介意违反谷歌的TOS,他们的映射API将更正地址。或者使用商业产品,如下所示:http://smartystreets.com/products/liveaddress-api

就我个人而言,我会在我知道"W"one_answers"WEST"相同的地方进行某种引用,所以当我导入数据时,如果它是WEST而不是W,那么我会更改它。写街道名称的方法并没有那么多不同,所以如果你把它们分解得足够多,这应该不是一项糟糕的任务。

我会把它们分为:编号、方向(N、S、E、W)、名称、类型?(不知道该怎么称呼这个)(街道、道路、大道等),当我把它们读到"主地址表"中时,把它们改成我想要的样子。

这样,您就可以检查重复项,并使所有内容都具有相同的格式。

最新更新