我想获取每个" adminId"的列表1文档。我投入阵列。
这不是用户索引,因此每个用户都有多个文档。
这是我尝试的但是我得到了多个具有相同adminId的文档而有些文章丢失了:
ZoneInfo
如何告诉ES"为我给你的每个价值取一个至少1个文件"?
答案 0 :(得分:0)
如何为每个给定的存储桶获取(任何)一个文档?
使用top hits aggregatn作为OP建议。
curl -H 'Content-Type: application/json' localhost:9200/myindex/_search?pretty -d '
{
"size": 0,
"query": {
"bool": {
"must": {
"terms": {
"adminId": ["CA", "NY", "TX"]
}
}
}
},
"aggs": {
"aggregation_name_1": {
"terms": {
"size": 10000,
"field": "adminId"
},
"aggs": {
"aggregation_name_2": {
"top_hits": {
"size": 1
}
}
}
}
}
}
'
请注意
"size": 10000
表示我们需要10000
个桶的数据(不同的adminId
值)。如果您有更多桶,请调整此值。
"size": 1
表示每个存储桶,返回(任意)一个文档。