我正在使用ES根据字段聚合结果。除此之外,我还想检索进入每个聚合桶的记录的_id。有可能吗?
例如:用于以下查询
{
"aggs" : {
"genders" : {
"terms" : { "field" : "gender" }
}
}
}
响应将是这样的
{
...
"aggregations" : {
"genders" : {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets" : [
{
"key" : "male",
"doc_count" : 14
},
{
"key" : "female",
"doc_count" : 14
},
]
}
}
}
现在,在这里,我想要构成聚合的所有14个男性和14个女性记录的_id。
为什么我需要那个?
说,因为我需要对这些记录进行一些后期处理,即根据性别在这些记录中插入一个新字段。当然,它并不像那样微不足道,但我的用例就是这样的。
提前致谢!
答案 0 :(得分:5)
创建类似
的嵌套聚合{
"aggs" : {
"genders" : {
"terms" : { "field" : "gender" }
},
"aggs": {
"ids":{
"terms" : {"field" : "_uid"}
}
}
}
}