GET index-*/_search
{
"query": {
"bool": {
"filter": [
{
"range": {
"@timestamp": {
"from": 1639497600000,
"to": 1639621541571
}
}
},
{
"bool": {
"filter": [
{
"terms": {
"status": [
"unprocessed"
]
}
]
}
}
]
}
},
//根据name聚合总数
"aggs": {
"count": {
"cardinality": {
"field": "name"
}
},
"name": {
"terms": {
"field": "name",
"size": 12,
"order": {
"_count": "desc"
}
},
//根据name聚合分页
"aggs": {
"name": {
"bucket_sort": {
"sort": [],
"from": 0,
"size": 100
}
}
}
}
},
"size": 0,
"from": 0
}
java api(聚合分页)
searchSourceBuilder.query(boolQueryBuilder)
.size(0)
.aggregation(AggregationBuilders.terms(aggsField)
.field(aggsField)
.size(size)
//排序
.order(BucketOrder.count(false))
//分页
.subAggregation(new BucketSortPipelineAggregationBuilder("bucket_sort", null)
.from(query.getOffset())
.size(query.getLimit())
));