Es 数据分析工具 - Elasticsearch Aggregations (聚合查询)
官方文档 Aggregations | Elasticsearch Guide [7.15] | Elastic
1. Bucket aggregations 桶聚合
that group documents into buckets, also called bins, based on field values, ranges, or other criteria.
即根据字段值、范围或其他标准将文档分组成桶
a. Adjacency matrix 邻接矩阵
根据聚合条件,计算邻接矩阵
b. Composite 复合聚合
使以下聚合支持翻页排序和script field
i. Terms
ii. Histogram
iii. Date histogram
iv. GeoTile grid
c. Sampler 抽样聚合
限制任意子查询样本数量以提高效率
d. Diversified sampler 多样化的抽样聚合
限制任意子查询样本数量,为保证样本多样化,可根据字段取不同值的样本
e. Filter 过滤器聚合
在聚合过程中加入filter
f. Filters 多过滤器
将设置的filters 作为聚合条件
g. Geohash grid 地理哈希网格
h. Geotile grid 地理瓦片网格聚合
i. Global 全局聚合
同时对不包含query条件全局聚合和包含query条件的聚合进行查询
j. Histogram 直方图聚合
i. Auto-interval date histogram 自动间隔日期直方图
自动计算直方图间隔,根据日期类型字段聚合数据
ii. Date histogram 日期直方图
根据日期类型字段聚合数据
iii. Variable width histogram 变量宽度直方图
自动根据要分的桶的数量聚合,并计算出每个桶的最大,最小,中间值
k. Missing 缺失字段聚合
用于聚合缺失了某字段的doc数量
l. Terms 分词聚合
统计字段分词聚合数量
m. Rare terms 稀有分词聚合
Terms 聚合的倒叙排列,用于分析长尾效应中的尾部数据
n. Multi Terms 多分词聚合
对多个terms聚合结果进行排列组合的聚合
o. Nested 嵌套聚合
开启对nested 字段的聚合的功能
p. Reverse nested 反转嵌入
在nested 字段的子聚合查询进行反转嵌入,让嵌入的子聚合能支持其它字段
q. Children 子聚合
针对join类型数据关系子文档进行聚合
r. Parent 父聚合
针对join类型数据关系父文档进行聚合
s. Range 范围聚合
根据数字范围进行聚合
i. IP range IP 范围聚合
根据ip类型数据进行范围聚合
ii. Date range 时间范围聚合
根据给定时间范围进行聚合
iii. Geo-distance 地理距离
对于geo类型数据的距离上的range 聚合
t. nlp相关
i. Significant terms 显著关系分词分析聚合
聚合和查询条件有显著关系的分词,可以用于分析与查询分词有显著关系的字段分词
获得与分词有显著关系的分词,可用于文本内容推荐
由于会消耗大量时间和内存,建议使用sampler采样器,限制用于计算文本数量
ii. Significant text 显著关系文本分析聚合,专门为text类型设计
iii. Categorize text 文本分类(7.17新实验性特性,对内存需求较高)
2. Metric aggregations 指标聚合
that calculate metrics, such as a sum or average, from field values.
根据各字段的值,求和,平均值等指标值
a. Avg 均值
求字段平均值
b. Median absolute deviation 绝对中位差
c. Max 最大值
d. Min 最小值
e. Sum 求和
f. Boxplot 箱型图(盒须图)
自动计算做“箱形图”所需数据指标数据组:最大值(Max),上四分位数(Q3),中位数(Q2),下四分位数(Q1),最小值(Min),优化过的上边缘(upper),下边缘(lower)
g. Cardinality 基数
求某个字段去重后的值的总数 类似 sql的distinct count
h. Stats 统计指标
一组指标数据的集合包括:
count,min,max,avg,sum
i. String stats 字符串统计
一组关于字符串指标数据的集合包括:
count,min_length,max_length,avg_length,entropy
j. Extended stats 扩展统计指标
一组指标数据的集合包括:
{
"count" : 701138, 统计总数
"min" : 0.0, 最小值
"max" : 1575.0, 最大值
"avg" : 0.29489772341536186, 平均值
"sum" : 206764.0, 求和
"sum_of_squares" : 1.1148988E7, 平方和
"variance" : 15.814310117431583, 方差
"variance_population" : 15.814310117431583, 总体方差
"variance_sampling" : 15.814332672667033, 样本方差
"std_deviation" : 3.976721025849259, 标准差
"std_deviation_population" : 3.976721025849259,总体标准差
"std_deviation_sampling" : 3.9767238617569403,样本标准差
"std_deviation_bounds" : { 标准差边界
"upper" : 8.24833977511388, 上边界
"lower" : -7.658544328283156, 下边界
"upper_population" : 8.24833977511388, 总体上边界
"lower_population" : -7.658544328283156, 总体下边界
"upper_sampling" : 8.248345446929243,样本上边界
"lower_sampling" : -7.6585500000985185 样本下边界
}
k. Geo-bounds 地理边界
计算出给定地理坐标所在集合的左上和右下坐标点
l. Geo-centroid 地理中心
计算出给定地理坐标所在集合的中心点坐标
m. Geo-Line 地理线段
n. Matrix stats 矩阵统计
获得一下一组统计指标
{
"count": 50, 计数
"mean": 51985.1, 均值
"variance": 7.383377037755103E7, 方差
"skewness": 0.5595114003506483, 偏度
"kurtosis": 2.5692365287787124, 峰度
"covariance": { 协方差
"poverty": -21093.65836734694
},
"correlation": { 相关性
"poverty": -0.8352655256272504
}
}
o. Percentile ranks 百分比排名
计算给定阈值上下数据所占百分比
p. Percentiles 百分比
自动计算个百分比区间值的分布
q. Rate 比率
只能用于date_histogram或 composite聚合的子聚合,计算子聚合时间单位换算后的平均值
r. Scripted metric 校本化指标
使用脚本计算指标值的方式,输出指标
s. T-test t检验(用t分布理论来推论差异发生的概率)
t. Top hits 顶级命中
一般用于其它聚合查询中,展开其它聚合中的具体匹配结果
u. Top metrics 顶级指标
根据某个字段排序获取另一个字段的值
v. Value count 数值计速
或者包含某个字段的文本总数
w. Weighted avg 加权平均值
将一个字段为值,另一个字段为权,计算加权平均值
∑(value * weight) / ∑(weight)
3. Pipeline aggregations 管道聚合
that take input from other aggregations instead of documents or fields.
从其他聚合的结果中而不是文档或字段中获取输入。
a. Average bucket 平均值桶
计算桶聚合返回结果的平均值
b. Max bucket 最大桶
桶结果求最大值
c. Min bucket 最小桶
桶结果求最小值
d. Sum bucket 求和桶
桶结果求最和
e. Bucket script 桶脚本
将桶聚合返回结果作为变量,自定义聚合公式进行数据聚合
f. Bucket count K-S test 桶计数K-S检验(实验性特性)
K-S检验通过对两个分布之间的差异的分析,判断样本的观察结果是否来自制定分布的总体。
g. Bucket correlation 桶相关性聚合(实验性特性)
计算兄弟聚合中聚合的相关性
h. Bucket selector 桶选择器
对兄弟桶的返回结果进行筛选
i. Bucket sort 桶排序
对兄弟桶的返回结果进行排序
j. Cumulative cardinality 累计基数
在histogram (or date_histogram) 聚合中,对基数聚合结果进行累计求和
k. Cumulative sum 累计求和
在histogram (or date_histogram) 聚合中,对求和聚合结果进行累计求和
l. Derivative 派生的
在histogram (or date_histogram) 聚合中,对聚合桶的结果进行逐次求差
m. Stats bucket 统计桶
提供对桶返回结果的一组统计指标
n. Extended stats bucket 扩展的统计桶
提供对桶返回结果的一组扩展后的统计指标
o. Inference bucket 推理桶
使用已经训练好的es机器学习模型,对桶结果进行预测
p. Moving function 移动函数
在指定大小的桶返回结果的子集中进行聚合计算
q. Moving percentiles 移动百分比
在指定大小的桶返回结果的子集中进行百分比聚合计算
r. Normalize 常态化
对桶返回结果进行一些预定义的二次运算
s. Percentiles bucket 百分比桶
对桶返回结果进行百分比分布运算
t. Serial differencing 序列差分
一种计算桶聚合结果周期性的计算方式