首页 > 解决方案 > 如何在弹性搜索中使 Country-State-City 类似搜索

问题描述

我想进行依赖搜索,例如当用户键入国家并选择国家然后在下一个下拉列表/文本搜索结果将来自该特定国家/地区时,在下一个文本搜索中选择状态后将仅基于该选定状态。任何人都可以通过弹性搜索帮助实现这种事情。

我是弹性搜索的新手,我对它有基本的了解,但不知道如何做这种我需要从孩子那里搜索并感觉像地图这样的数据的东西

标签: elasticsearch

解决方案


首先,了解 Elasticsearch 如何存储其数据非常重要。您可以在此处找到此类信息:https ://www.elastic.co/guide/en/elasticsearch/reference/master/documents-indices.html

因此,基本上您需要的是构建一个包含两个必须项的查询。

  1. 一种用于对象类型(国家、州等)。

  2. 其他名称(“洛杉矶”、“马萨诸塞州”等)。如果您想要自动完成功能,您可以在列表中添加通配符查询。https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html

Obs:当您存储 State 对象时,不要忘记将 Country 名称存储在一起。由于 Elasticsearch 是非关系型的,因此您必须在 State 文档中为 Country name 编制索引。

希望它有所帮助


推荐阅读