Elasticsearch - 是否有使用 "almost ident" 进行匹配的方法

Elasticsearch - is there a method to match using "almost ident"

我使用 Facebook 和 Google 地图来获取完整的地理实体数据值(国家、城市、街道、邮编...)。

我将这些值存储在我的 mongoDB、

我注意到有些位置在 Face 和 Google 上的书写方式不同,例如(一个不真实的)Face 用 [=29= 写了 'Hawaii' 的名字] - 夏威夷。

我使用 match_all 字段(国家/地区 + 城市 + 街道...)在同一位置搜索实体,但由于有些写法有点不同,我找不到它们。

有没有办法让 elasticsearch 搜索 'Hawaii' 任何其他听起来像夏威夷但写法有点不同的选项?

感谢您的帮助!

使用Google API可以得到一个location's 完整详情

要匹配发音相似的单词,您可以使用 phonetic analyzer. You can also give fuzzy query 尝试匹配有拼写错误的单词。 None 虽然它们是万无一失的,但可能会导致误报。我想您需要进行一些试验才能找到最适合您需要的解决方案。

如果您知道 Facebook 和 Google 地图之间的一组已知差异,您可以查看 using Synonyms at either index time or query time to accommodate differences in the APIs; There are merits to taking either approach