Elasticsearch 指标聚合
在Elasticsearch中,可以使用metrics
聚合来对数据执行各种统计计算。以下是一些常见的指标聚合以及如何用Elasticsearch查询语言(Query DSL)来表示它们的示例。
- 平均值聚合(Avg Aggregation):
GET /_search
{
"size": 0,
"aggs": {
"avg_grade": {
"avg": {
"field": "grade"
}
}
}
}
- 最小值聚合(Min Aggregation):
GET /_search
{
"size": 0,
"aggs": {
"min_grade": {
"min": {
"field": "grade"
}
}
}
}
- 最大值聚合(Max Aggregation):
GET /_search
{
"size": 0,
"aggs": {
"max_grade": {
"max": {
"field": "grade"
}
}
}
}
- 求和聚合(Sum Aggregation):
GET /_search
{
"size": 0,
"aggs": {
"total_grade": {
"sum": {
"field": "grade"
}
}
}
}
- 求方差聚合(Extended Stats Aggregation):
GET /_search
{
"size": 0,
"aggs": {
"grades_stats": {
"extended_stats": {
"field": "grade"
}
}
}
}
- percentiles聚合(Percentiles Aggregation):
GET /_search
{
"size": 0,
"aggs": {
"grade_percentiles": {
"percentiles": {
"field": "grade",
"percents": [1, 5, 25, 50, 75, 95, 99]
}
}
}
}
这些查询将返回指定的统计信息,例如平均分、最高分、最低分、总分、扩展统计信息(包括方差等)以及分数的各个百分位数。
评论已关闭