设计思想
"生产者-消费者"模型:
- 生产者:你的业务代码,调用 add(Request) 方法生产单个操作。
- 消费者:BulkProcessor 内部管理的线程池,负责收集操作、批量执行、处理响应。
执行流程图

线程间关系

特点
- 性能优化:通过批量处理减少网络往返次数(Round-Trips)。
- 自动化:自动根据配置(文档数量、大小、时间间隔)触发批量请求。
- 可靠性:内置重试机制,应对网络抖动或节点暂时不可用。
- 背压(Backpressure):通过 concurrentRequests 配置控制并发量,防止客户端过载。
- 易用性:接口简单,屏蔽了底层复杂的异步处理逻辑。
- 在 High Level REST Client ElasticSearch 8.x 弃用了 High Level REST Client
学习资料
Using Bulk Processor | Java API [7.8] | Elastic