存储/规范化和搜索地址数据

时间:2013-10-10 12:47:18

标签: java mongodb search addressbook

我有一个很多的地址数据链接到名称。地址有多种格式。例子可能是:

  • 1 StreetName Street,County,Town。
  • 1,StreetName Street,County,Town。
  • Flat 1 BuildingName,1 StreetName Street,Town。
  • Flat 1 BuildingName,StreetName Street,County,Town。
  • Town,District,StreetName Street 1号。
  • Flat 1,BuildingName,1 StreetName Street,County,Town。
我等每个地址都有单独的(英国)邮政编码数据,并对这些数据进行了规范化,以便即使每个“行”的内容不相同,也可以使案例和分隔符保持一致。不一致的措辞,如Street vs St仍然存在。

到目前为止,我的方法取得了合理但有限的成功。我已经为邮政编码编制了索引,并强制用户选择邮政区域,邮政区域将数据分成更小的可用区块。在那之后,我离开了使用正则表达式查询(我现在使用mongo)在地址上寻找街道名称。

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

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

0 个答案:

没有答案