PUT items/1
{ "language" : 10,
"country" : "US" }
PUT items/2
{ "language" : 11,
"country" : "UK" }
PUT items/3
{ "language" : 10,
"country" : "US" }
PUT items/4
{ "language" : 12,
"country" : "US" }
如何编写返回唯一语言的搜索查询,即国家/地区为 US
的 10, 12
要获取所有独特语言的列表,可以使用10,11,12
术语聚合。但是,我无法弄清楚如何将国家/地区过滤器包含在其中。
最佳答案
根据用例,实现此目的的一种方法是使用 filter aggregations : 示例:
{
"size": 0,
"aggs": {
"country_us": {
"filter": {
"term": {
"country": "us"
}
},
"aggs": {
"language": {
"terms": {
"field": "language",
"size": 0
}
}
}
}
}
}
关于elasticsearch - Elasticsearch - 根据过滤器/匹配返回唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35560544/