我需要在字段之间创建嵌套分组。让我们考虑下面给出的例子,文件: { "keyword": "abc", "country": "IN", "state": "TN", "city": "Chennai" }, { "keyword": "abc", "country": "IN", "state": "TN", "city": "Trichy" }, { "keyword": "abc", "country": "IN", "state": "KL", "city": "TVM" }, { "keyword": "abc", "country": "US", "state": "Cal", "city": "California" }所需的输出(类似这样): { "country": "IN", "TN": [ "Chennai", "Trichy" ], "KL": [ "TVM" ] }, { "country": "US", "Cal": [ "California" ] }使用的查询: { "from": 0, "size": 1, "aggs": { "country": { "terms": { "field": "country.keyword", "size": 50000 } }, "state": { "terms": { "field": "state.keyword", "size": 50000 } }, "city": { "terms": { "field": "city.keyword", "size": 50000 } } }, "query": { "query_string": { "query": "(keyword:abc) " } } }对于这个查询,我得到了单独的存储桶作为 city 、 state 和 country 的输出。但我需要的是城市应归入州,州应归入国家。提前致谢。
1 回答
达令说
TA贡献1821条经验 获得超6个赞
以下带有聚合的查询应该适合您
{
"query": {
"query_string": {
"query": "(keyword:abc)"
}
},
"size": 0,
"aggs": {
"country_agg": {
"terms": {
"field": "country.keyword",
"size": 10
},
"aggs": {
"state_agg": {
"terms": {
"field": "state.keyword",
"size": 10
},
"aggs": {
"city_agg": {
"terms": {
"field": "city.keyword",
"size": 10
}
}
}
}
}
}
}
}
添加回答
举报
0/150
提交
取消