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" }
如何编写返回唯一语言的搜索查询,即10, 12
,其国家/地区为US
要获取所有唯一语言的列表10,11,12
,可以使用术语聚合。但是,我无法弄清楚如何将国家过滤器纳入其中。
答案 0 :(得分:2)
基于用例,实现此目的的一种方法是使用filter aggregations: 例如:
{
"size": 0,
"aggs": {
"country_us": {
"filter": {
"term": {
"country": "us"
}
},
"aggs": {
"language": {
"terms": {
"field": "language",
"size": 0
}
}
}
}
}
}