Elasticsearch聚合查询如何按[Have CVID]子聚合统计计数排序
排序配置添加位置
排序规则需要直接加在CVID对应的terms聚合配置块内,和field: "CONTACT_ID.keyword"配置项同级,不需要放在其他层级。
配置说明
- terms聚合的
order参数支持引用同层级下的子聚合结果作为排序依据,要按桶内type_count(也就是Have CVID.keyword字段的去重计数)排序,直接指定对应子聚合名称作为排序引用路径即可 - 排序方向
desc为降序、asc为升序,可根据实际需求调整
修改后的完整查询语句
POST /dashboard/_search?size=0 { "query": { "bool": { "must_not": [ { "match": { "Have CVID": "" } } ] } }, "aggs": { "CVID": { "terms": { "field": "CONTACT_ID.keyword", "order": { "type_count": "desc" } }, "aggs": { "type_count": { "cardinality": { "field": "Have CVID.keyword" } } } } } }
注:原查询语句中
Have CVID.keyword字段配置末尾缺少闭合双引号,上述代码已同步修正该语法问题。
内容的提问来源于stack exchange,提问作者ella
相关产品推荐
相关产品推荐

