Bucket 聚合
Bucket 聚合用于将文档分组到不同的桶(Bucket)中,根据字段值、范围、日期等条件进行分类统计,是数据分析的核心工具。
1. 常见 Bucket 聚合类型
- terms:按字段值分组,返回每个值对应的桶
- range:按数值范围分组
- date_histogram:按日期区间分组,支持按天、周、月等粒度
- filters:按多个查询条件分组
- histogram:按数值区间分组(固定间隔)
2. 示例:按字段分组统计
GET /my-index/_search
{
"size": 0,
"aggs": {
"group_by_category": {
"terms": {
"field": "category.keyword"
}
}
}
}
`
3. 示例:按日期分组
GET /my-index/_search
{
"size": 0,
"aggs": {
"sales_over_time": {
"date_histogram": {
"field": "sale_date",
"calendar_interval": "month"
}
}
}
}
4. 注意事项
- 聚合字段通常需使用
.keyword或非分词字段 - 使用合理的桶大小和间隔,避免返回过多桶,影响性能
- 可以嵌套使用 Bucket 聚合,实现多级分组
Bucket 聚合使你能够灵活地对数据进行分组和分类统计,助力多维度数据分析和报表制作。
相关内容
- 定义与用途 本章介绍 Elasticsearch 的定义、核心功能与适用场景,帮助读者理解它为何成为现代搜索与日志分析的首选解决方案。
- 使用场景 本章总结 Elasticsearch 在全文搜索、日志分析、监控告警、推荐系统等领域的典型应用场景,助力理解其强大用途。
- 核心概念简介 本章概览 Elasticsearch 的核心构成,包括索引、文档、映射、节点、集群等关键概念,为后续使用和架构设计打下基础。
- 本地安装 本章介绍如何在本地环境中安装 Elasticsearch,适配 Windows、macOS 和 Linux 系统,便于开发测试与入门学习。
- Docker 安装 本章讲解如何通过 Docker 安装和运行 Elasticsearch,适合开发者快速搭建测试环境并集成至容器化工作流中。
- 与 Kibana 一起部署 本章介绍如何将 Elasticsearch 与 Kibana 一起部署,使用 Docker Compose 快速构建可视化分析平台,适合开发与测试环境使用。