在尝试使用 python 的批量 API 索引大约 20000 条记录(每条记录的大小约为 100kb)时,我看到消耗的最大写入队列大小为 6。我对批量索引的以下理解是否正确(默认配置为 500 块和 100 mb块大小)?
- Bulk API 将向 ES 发送 40 个请求(20000/500)。
- 每个批量请求都以原子方式持久化,即全部 500 个块或没有。
- 如果活动线程忙,则批量请求将作为一个整体对象汇集在写入队列中。
在尝试使用 python 的批量 API 索引大约 20000 条记录(每条记录的大小约为 100kb)时,我看到消耗的最大写入队列大小为 6。我对批量索引的以下理解是否正确(默认配置为 500 块和 100 mb块大小)?
write
线程池处理。如果多个批量操作同时到达,那么其中一些将被处理(取决于接收批量操作的节点上的核数),不能处理的将被添加到队列中,其大小是 10000(这意味着 10000 个索引操作可以在处理之前排队)。一旦该队列被填满,索引操作将开始被拒绝(HTTP 429)