1

我有很多与姓名相关的地址数据。地址有多种格式。示例可能是:

  • 1 StreetName Street, County, Town。
  • 1,街道名称街道,县,镇。
  • 镇街名街 1 号楼 1 号楼。
  • 1 楼 BuildingName,StreetName Street,County,Town。
  • 镇区街名街 1 号 1 室。
  • 1 号楼,1 号街道,县,镇。

等等等等。我对每个地址都有单独的(英国)邮政编码数据,并将这些数据标准化,这样即使每个“行”的内容不同,大小写和分隔符也是一致的。不一致的措辞,例如 Street vs St 仍然存在。

到目前为止,我的方法取得了合理但有限的成功。我已经对邮政编码进行了索引,并强制用户选择邮政区,从而将数据分割成更小的可用块。之后,我只剩下对地址使用正则表达式查询(我目前正在使用 mongo)来查找街道名称。

但是,由于到目前为止我只能规范化的措辞不一致(例如:在数据库级别查询或规范化时从用户查询中生成“High(Street|St)”),这并不是非常准确或快速。

我意识到这是一个相当开放的问题,但人们如何建议它可用于搜索和/或进一步规范化?我必须对搜索执行的限制包括不能按名称搜索,以及在缩小到个别街道/道路之前无法解析到人们(请注意,某些地址没有街道/道路信息!)。请注意,许多数据是历史数据,因此通过谷歌或其他任何人都不是真正的选择。

4

0 回答 0