聚合查询
对查询的数据进行聚合操作
分类聚合 - terms
根据字段值,进行分类
{
"size" : 0,
"aggs" : {
"per_count" : {
"terms" : {
"size" : 3, # 不加这个默认只会返回10条数据
"field" : "codeName"
}
}
}
}
分析聚合 - max
分类结果中的最值,平均值等聚合操作
{
"size" : 0,
"aggs" : {
"per_count" : {
"terms" : {
"size" : 10000,
"field" : "name"
},
"aggs" : {
"max_count" : {
"max" : {
"field" : "view"
}
}
}
}
}
}
所有聚合 - extended_stats
返回聚合分析后所有的指标
{
"aggs" : {
"grades_stats" : { "extended_stats" : { "field" : "grade" } }
}
}
聚合结果去重排序 - order AND cardinality
对查询结果进行排序,然后去重
{
"aggs" : {
"all_interests" : {
"terms" : {
"field" : "pubDay",
"order" : { "distinct_mediaNameZh" : "desc" }
},
"aggs" : {
"distinct_mediaNameZh" : {
"cardinality" : {
"field" : "mediaNameZh"
}
}
}
}
}
}
常用聚合 - 表单
| 术语 | 说明 |
|---|---|
| count | 统计某个字段的数量 |
| cardinality | 去重统计某个字段的数量(有少量误差) |
| filter | 聚合过滤 |
| terms | 按某个字段分类 |
| sum | 求和 |
| avg | 求平均值 |
| max | 最大值 |
| min | 最小值 |
| dateHistogram | 按日期间隔分组 |
| topHits | 获取聚合里面的结果 |
| nested | 嵌套的聚合 |
| reverseNested | 反转嵌套 |
本文介绍如何使用分类聚合、分析聚合及更多高级聚合技术来处理和分析数据。通过具体实例展示了如何进行分类、求最值、统计等操作,并介绍了排序与去重的方法。
3214

被折叠的 条评论
为什么被折叠?



