Elasticsearch 8.1官网文档梳理 - Aggregations(聚合)
Elasticsearch 8.1 官方文档中关于聚合(Aggregations)部分的内容概要如下:
Bucket Aggregations(桶聚合):
date_histogram
:基于时间的数据分桶。histogram
:基于数值的分桶。terms
:基于文本字段或者分析的关键词的分桶。range
:按照值的范围分桶。date_range
:按照时间范围分桶。ipv4_range
:按照IPv4范围分桶。global
:为所有文档创建一个单一的桶。filter
:根据条件过滤文档,并将其放入桶中。
Metric Aggregations(指标聚合):
avg
:计算平均值。max
:计算最大值。min
:计算最小值。sum
:计算总和。value_count
:计算文档数量。stats
:计算统计值,包括平均值、最大值、最小值、总和等。extended_stats
:计算扩展的统计值,包括均方根、方差等。percentiles
:计算百分位数。percentile_ranks
:计算分位数排名。
Pipeline Aggregations(管道聚合):
avg_bucket
:计算桶的平均值。max_bucket
:计算桶的最大值。min_bucket
:计算桶的最小值。sum_bucket
:计算桶的总和。stats_bucket
:计算桶的统计值。extended_stats_bucket
:计算桶的扩展统计值。percentiles_bucket
:计算桶的百分位数。percentile_ranks_bucket
:计算桶的百分位排名。
Matrix Aggregations(矩阵聚合):
matrix_stats
:提供了各种文档字段的基本统计信息,如方差、协方差等。
Specialized Aggregations(特殊聚合):
scripted_metric
:允许使用脚本进行自定义的度量计算。top_hits
:在聚合查询中获取每个桶中得分最高的文档。
Multi-value Aggregations(多值聚合):
nested
:针对嵌套文档进行聚合。reverse_nested
:针对父文档进行聚合。
Global Aggregations(全局聚合):
- 在所有分片上执行聚合查询。
Missing Value Aggregations(缺失值聚合):
missing
:针对缺失字段值的文档进行聚合。
Matrix Aggregations(矩阵聚合):
flattened
:将嵌套对象的字段展平为扁平结构,以便于聚合。
示例代码:
GET /_search
{
"size": 0,
"aggs": {
"my_date_histogram": {
"date_histogram": {
"field": "timestamp",
"interval": "month"
}
},
"my_avg_metric": {
"avg": {
"field": "temperature"
}
}
}
}
这个查询使用date_histogram
分桶,按照时间月份分桶,并计算每个月的温度平均值。size
设置为0表示不需要返回文档
评论已关闭