我试图在ES中找到一种方法,我可以为参数列表中的每个元素返回单个文档。例如,如果我有一个名为country的字段,并且我传入了几个国家/地区的列表,我想为每个国家/地区返回一个结果。
例如,如果我提供如下列表:
{“terms”:{“country”:['France','Spain','Germany']}}
我会收到一个结果,但只有一个结果。
答案 0 :(得分:1)
您可以使用查询和聚合的组合。
GET /index/type/_search
{
"size": 0,
"query": {
"terms": {
"country": ["France","Spain","Germany"]
}
},
"aggs": {
"group_by_country": {
"terms": {
"field": "country",
"size" :0
},
"aggs":{
"top_hits_country" :{
"top_hits" :{
"size":1
}
}
}
}
}
}
在汇总结果中,您将获得每个国家/地区的结果,因为我们在"size" :1
中指定了"top_hits"
,您只能得到一个结果。
答案 1 :(得分:0)
您的问题可以通过多种方式解释 - 正如Paul Roub建议的那样,但我假设您正在寻找: