第 6 章 · 统计视角:聚合分析的另一段旅程 章节摘要:搜索回答"哪些文档命中",聚合回答"这批数据长什么样"。同一批工单,可以统计平均处理时长(指标聚合)、按状态分组数一数(桶聚合)、再在分组结果上算环比(管道聚合)。本章沿着这三层能力递进,讲清聚合与查询共用两阶段执行的原理、docvalues 列式存储的角色、terms 桶的取数边界与嵌套写法。读完你能把一张业务报表直接翻译成聚合请求。 学习目标 阅读完本章,你应当能够: 区分指标聚合、桶聚合、管道聚合三层能力,各举一个业务对应物。 写出均值、基数、百分位等指标聚合,读懂响应结构,知道 size 设零的时机。 用 terms、range、datehistogram 组桶并嵌套子聚合,完成分组报表。
章节摘要:搜索回答"哪些文档命中",聚合回答"这批数据长什么样"。同一批工单,可以统计平均处理时长(指标聚合)、按状态分组数一数(桶聚合)、再在分组结果上算环比(管道聚合)。本章沿着这三层能力递进,讲清聚合与查询共用两阶段执行的原理、doc_values 列式存储的角色、terms 桶的取数边界与嵌套写法。读完你能把一张业务报表直接翻译成聚合请求。
阅读完本章,你应当能够:
金句:查询圈定一个集合,聚合回答这个集合的结构——桶是格子,指标是格子里的数,管道是格子之间的运算。
聚合请求的骨架与执行模型:aggs 与 query 平级、两阶段分工、size 设零只取统计;然后是指标聚合一族——均值、极值、基数、百分位,每个配业务场景与读法。
terms、range、date_histogram 三种最常用的桶,嵌套子聚合的写法,terms 桶的取数边界与精度核对——报表对不上数的排查从这一节开始。
桶间运算的思路:兄弟管道算均值比与排名,父管道做衍生与累计;再配一个"月环比报表"的完整案例收束全章。
三节是能力的三层堆叠:先会算数(指标),再会分格(桶),最后在格子间运算(管道)。6.2 的嵌套写法依赖 6.1 的指标语法,6.3 的管道必须踩在 6.2 的桶结果之上——顺序即难度阶梯,也是报表的组装顺序。
6.1 指标聚合(算数) ──► 6.2 桶聚合(分格+嵌套) ──► 6.3 管道聚合(格间运算) │ │ │ └─► 第3章 doc_values └─► 第9章 报表与仪表盘 └─► 第9章 案例的运营看板
| 考核点 | 达标标准 | 对应小节 |
|---|---|---|
| 三层能力对号 | 给定报表需求,判断该用指标、桶还是管道聚合 | 6.1 |
| 写指标聚合 | 写出均值、基数、百分位请求,并解释 size 设零的时机 | 6.1 |
| 组桶嵌套 | 用 date_histogram 套 terms 写出每日各状态工单量 | 6.2 |
| 解释误差上界 | 说出 terms 桶的取数过程,读懂误差上界字段的含义 | 6.2 |
| 管道计算 | 在日桶上算环比与均值比,读懂桶路径写法 | 6.3 |