elasticsearch8.1.0 中聚合功能的执行链路

在 Elasticsearch 8.1.0 中,聚合(Aggregations)功能的执行链路可以分为“请求解析 → 分片级聚合 → 协调节点汇总 → 结果返回”四个阶段。下面按时间顺序给出**一次 terms 桶聚合**在源码层面的关键调用路径(涉及的重要类与方法),方便你快速定位代码。所有类均位于 `org.elasticsearch.search.aggregations` 或其子包下。

--------------------------------
1. 请求解析与 DSL 构建  
- `SearchModule.registerAggregations()` – 启动时将内置聚合解析器注册到 NamedXContentRegistry。  
- `AggregationsAggregationBuilder.parse()` – Rest 层解析 `aggs` 段,生成 `TermsAggregationBuilder`。  
- `SearchSourceBuilder#aggregation(AB)` – 把聚合构建器挂到 search request 上。

--------------------------------
2. Coordinator(接收节点)准备阶段  
- `TransportSearchAction.doExecute()` – 判断是否需要跨分片,创建 `SearchTask`。  
- `SearchService#parseSource()` → `AggregatorFactories.Builder.build()` – 将 `TermsAggregationBuilder` 编译为 `AggregatorFactory`(真正执行对象)。  
- `SearchService.createContext()` – 构建 `SearchContext`,内部持有 `AggregatorFactories`。

--------------------------------
3. 分片级聚合(Shard request)  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值