桶聚合
桶聚合是将文档分组为多个桶,然后对每个桶进行统计的聚合类型。桶聚合可以对文档进行多维度的分析,如按照字段值、日期、范围等进行分组,从而提供更具体和更有意义的聚合结果。
例子
以下是一个简单的 Terms Aggregation,按照 color 字段进行分组,统计每个颜色的商品数量:
{
"aggs": {
"colors": {
"terms": {
"field": "color"
}
}
}
}
指标聚合
指标聚合是对文档进行统计并返回一个单一的指标结果的聚合类型。指标聚合可以计算文档数量、字段的最大值、最小值、平均值、总和等统计信息,从而帮助我们了解数据的总体情况。
例子
以下是一个简单的 Metrics Aggregation,计算 price 字段的平均值:
{
"aggs": {
"avg_price": {
"avg": {
"field": "price"
}
}
}
}
嵌套聚合
嵌套聚合是将一个聚合作为另一个聚合的子聚合进行查询的聚合类型。嵌套聚合可以对多个字段进行统计,并提供更全面和更精确的聚合结果。
例子
以下是一个简单的 Nested Aggregation,统计每个颜色中的最高价格:
{
"aggs": {
"colors": {
"terms": {
"field": "color"
},
"aggs": {
"max_price": {
"max": {
"field": "price"
}
}
}
}
}
}
详细教程,请参考:ES统计分析教程