Elasticsearch 聚合的分类

Bucket 聚合(分桶聚合)

将文档划分到不同的组(桶)中,类似 SQL 的 GROUP BY

常用 Bucket 聚合类型

聚合类型 描述
terms 按字段值分组
range 按数值范围分组聚合(负无穷-A,A-B,B-正无穷)
date_histogram 按时间区间分组聚合(如按天/小时/分钟)
histogram 按固定数值间隔分组聚合
filters 多个filter条件分桶,多个where条件并行聚合互相独立
significant_terms 找出重要的字段值,指定时间范围内频繁出现的值
composite 支持分页的多字段分组聚合(适合大数据量)
nested 针对嵌套字段的聚合
children 针对 parent-child 类型文档聚合

Metric 聚合(度量聚合)

对字段进行统计计算,常用于求最大、平均、求和等。

常用 Metric 聚合类型

聚合类型 描述
avg 平均值
sum 总和
min 最小值
max 最大值
value_count 计数
cardinality 去重计数(近似)
stats 同时返回 min/max/sum/avg/count
extended_stats 包含方差、标准差等更高级统计信息
percentiles 百分位数(如 P95)
percentile_ranks 某个值处于所有数据的百分比位置
top_hits 返回聚合桶中的文档(常用于取最新一条)
scripted_metric 自定义脚本的复杂聚合逻辑

Pipeline 聚合

对已有聚合结果进行二次聚合、计算或筛选。

常用 Pipeline 聚合类型

聚合类型 描述
derivative 计算导数(变化率)
moving_avg 移动平均(7日均线等)
bucket_script 自定义脚本计算
bucket_selector 条件筛选聚合桶
cumulative_sum 累加求和
avg_bucket, sum_bucket 对聚合桶再做统计

Matrix 聚合(矩阵聚合)

适用于多个字段之间的统计分析(例如相关性分析)。

常用 Matrix 聚合类型

聚合类型 描述
matrix_stats 多字段的统计分析(平均值、协方差、相关性)
adjacency_matrix 多条件组合匹配分析
posted @ 2025-05-14 14:31  黄河大道东  阅读(15)  评论(0)    收藏  举报