如何从Elasticsearch 7.X.X获取超过10000条记录

2024-06-25 23:00:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要从Elasticsearch获取超过10000条记录,但是我无法从python设置Elasticsearch 7.2中的index.max_result_window。在

我在elasticsearchv6中使用了以下命令将窗口限制设置为100000,这是有效的。在

es.indices.create(index=prod_index, body={"settings": {"index.mapping.total_fields.limit": 50000, "index.max_result_window" : 100000})

同样的命令在Elasticsearch 7.2中不起作用


Tags: 命令indexsettingsescreate记录bodyprod
1条回答
网友
1楼 · 发布于 2024-06-25 23:00:43

最好不要,这就是为什么他们把它设为1万作为最大值的原因。增加index.max-result-window不是一个好主意,这会导致集群延迟或崩溃。设置大小时,ES会在获取数据之前创建一个相同大小的堆。这些记录将保留在RAM中,除非你有很好的硬件和巨大的堆空间,否则最好不要这样做,因为这样会使你的集群崩溃或减慢速度。在

替代方法是使用scroll APIFrom-size或{}(可能最可取的-

description

您可以检查this解决方案。它帮助我在不关闭集群的情况下获取更多的700k文档。另外,您可以检查this答案。在

相关问题 更多 >