我在单独索引中存储了2个实体:
resolve
索引具有2个字段映射:City
和name:keyword
。url:text
索引具有2个字段映射:Product
和name:keyword
我想通过city:text
的网址查询所有Product
。
示例:
City
在SQL数据库中,编写起来非常简单:我们只需要使用“联接”查询即可。如何在ElasticSearch 6.5 中编写这样的查询?
WARN :实体位于单独的索引中,因为从文档 6 开始的ElasticSearch中,建议使用1 index per mapping。
答案 0 :(得分:0)
据我所知,URL给出了城市的名称。
i.e. http://shirts-shop.com/<_city_>
由此我们可以提取城市名称 我建议在索引产品中将 城市 的数据类型保留为 关键字 代替 text (这样就不会对其进行分析)。
要在<< em> _city _ >中获得衬衫,请使用查询:
{
"bool": {
"must": [
{
"terms": {
"city": <_city_>
}
}
]
}
}