58 · composite 聚合(可分页的分组聚合)
阶段:第六阶段补 / 聚合能力
ES:compositeaggregation | PostgreSQL:GROUP BY+ 键集分页(keyset pagination)
1. 概念
第 21 篇的 terms 聚合有个硬伤:它一次只返回 top-N 个桶,无法「翻页遍历所有分组」。
当你要导出全部分组结果(比如「所有 region × product 的销量」,可能几十万组),terms 做不到。
composite 聚合就是为此而生:
- 把多个字段组合成分组键(相当于
GROUP BY a, b, c)。 - 结果按键有序,返回一个
after_key。 - 下一页带上
after,从上次的位置继续,稳定、可遍历全部桶。
这正是 PG 里的**键集分页(keyset pagination)**思想,对照第 18 篇的 search_after——只不过这次翻的是「聚合桶」
订阅专栏 解锁全文
&spm=1001.2101.3001.5002&articleId=163753258&d=1&t=3&u=fa210f8680584438ab3996567d22c982)
201

被折叠的 条评论
为什么被折叠?



