Elasticsearch 统计聚合
在Elasticsearch中,统计聚合(aggregations)可以帮助我们对数据进行复杂的分析。以下是一个使用Elasticsearch DSL(Elasticsearch Query DSL)的例子,它展示了如何计算文档的平均值、最小值、最大值和总和。
GET /exams/_search
{
"size": 0,
"aggs": {
"avg_grade": {
"avg": {
"field": "grade"
}
},
"min_grade": {
"min": {
"field": "grade"
}
},
"max_grade": {
"max": {
"field": "grade"
}
},
"sum_grade": {
"sum": {
"field": "grade"
}
}
}
}
在这个查询中,exams
是索引的名称,grade
是我们想要统计的字段。size
设置为0表示我们不需要返回任何文档,只需要聚合结果。aggs
字段定义了我们想要进行的各种聚合操作,包括平均值(avg_grade
)、最小值(min_grade
)、最大值(max_grade
)和总和(sum_grade
)。
评论已关闭