弹性搜索查询具有多个条件的不同值



我想在弹性搜索中执行以下操作。

选择不同的名称,来自班级 = 10 且年龄 = 15 的学生中的城市;

它应该返回名称和城市的所有不同值。如何执行此操作?

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html#request-body-search-collapse。字段折叠在这里应该有帮助。

{
"query": { 
"bool": {
"must": [
{"match": 
{
"class": 10
}
},
{"match": 
{
"age": 15
}
}
] 
}
},
"collapse" : {
"field" : "name.keyword" ,
"inner_hits" : {
"name": "by_type",
"collapse" : {"field" : "city.keyword"}
}
}, 
"size": 100
}

上面的查询将在与类和年龄匹配后返回一个文档 par 名称和城市。

最新更新