通过这种聚合:
"some_agg":{
"terms":{
"size":10,
"field":"name.keyword"
},
"aggs":{
"bucket_sort_agg":{
"bucket_sort":{
"sort":[
{
"_count":{
"order":"desc"
}
}
]
}
}
}
}
我收到类似的东西:
"buckets": [
{
"key": "some name",
"doc_count": 2035
},
{
"key": "other name",
"doc_count": 1017
},
{
如果文档中还有其他字段,例如电子邮件,是否也可以接收该字段?而不使用嵌套聚合。
答案 0 :(得分:0)
汇总不返回文档,而是汇总文档。具有name: some name
的2035年文档的其他字段可能具有完全不同的值。
如果需要,可以在其他字段上添加其他terms
子聚合,以将2035文档拆分为更精细的存储桶。
最终,您可以添加top_hits
子聚合,以返回每个子子存储桶的匹配数据(即实际文档)。
例如:
"some_agg":{
"terms":{
"size":10,
"field":"name.keyword"
},
"aggs":{
"another_field": { <--- split on another field
"terms": {
"field": "another_field"
},
"aggs": {
"hits": { <--- show all the hits for each sub-bucket
"top_hits": {}
}
}
},
"bucket_sort_agg":{
"bucket_sort":{
"sort":[
{
"_count":{
"order":"desc"
}
}
]
}
}
}
}