如何在Elasticsearch中模拟可以容忍不正确和部分查询的英国地址?

问题描述 投票:0回答:1

我正在寻找一种可以接受不正确的地址匹配查询并提供最佳地址匹配的服务。到目前为止,已经进行了一些尝试,将完整的英国地址混合到一个字段中,查询一直在返回地址列表,其中最得分最高的地址被选为最佳匹配地址,并且正确匹配的比例约为40%-60%。但是,有没有更好的策略来为英国地址编制索引,以适应错误的地址匹配查询?

[另外,当我说不正确或不完整时,这意味着我不能保证地址的第1行,第2行。因此,有时它们可​​能以错误的顺序出现。会有错别字,以及诸如Rd之类的常用术语的缩写。道。这可以通过使用同义词列表进行排序。另一个重要的事情是有时邮政编码丢失了,尽管这种情况很少见。

有了这一点,我希望能够去Elasticsearch,自动选择正确的选择(或第一场比赛),并确信此比赛确实是正确的。我有数百万个这样的地址,因此人工干预是不切实际的。

我想知道是否不为源数据中的每一行地址分别混合并为每个字段建立索引,并应用一些多匹配查询来提供更好的准确性。我正在研究一种计分机制,它看起来像BM25算法使用了字段长度,而且我不知道在匹配地址而不是匹配文档时,这是否有意义。

elasticsearch data-modeling elastic-stack
1个回答
-1
投票

嗯,这取决于您如何索引数据。如果将单个行地址与多个字段匹配。 e.q- 2,Alexandria Rd London W13 0NR,带有buildingName,unitName,street,city,postcode等,那么如果邮政编码匹配,您可以说提高得分。您还可以再说一步,说主要邮政编码比次要邮政编码具有更高的提升水平。

然后您可以说buildingName具有更高的相关性,其次是街道,城市等。这完全取决于您如何对数据建立索引。

但是请始终记住一件事,匹配地址永远不可能是100%正确的。有些人会觉得不错,而有些人会觉得很烂。

[当您了解历史地址,替代地址或临时地址时,可以使用多重匹配查询,以获取最佳匹配。

© www.soinside.com 2019 - 2024. All rights reserved.