我需要从Elasticsearch中获取超过10000条记录,但是我无法在python的Elasticsearch 7.2中设置index.max_result_window
。
我已经使用以下命令在Elasticsearch V6中将窗口限制设置为100000
,该命令正常工作。es.indices.create(index=prod_index, body={"settings": {"index.mapping.total_fields.limit": 50000, "index.max_result_window" : 100000})
相同的命令在Elasticsearch 7.2中无效
2条答案
按热度按时间du7egjpx1#
最好不要这样做,这就是为什么他们把最大值设置为10000。增加
index.max-result-window
不是一个好主意,这可能会导致集群延迟或崩溃。当你设置一个大小时,ES会在提取数据之前创建一个相同大小的堆。这些记录将留在RAM中,除非你有很好的硬件和巨大的堆空间,否则最好不要这样做。因为它可能会使群集崩溃或降低群集速度。替代方法是使用
scroll API
、From-size
或Search-after
(可能是最佳选择-(第10页)
您可以查看this解决方案。它帮助我在不关闭集群的情况下获取了更多的
700k
文档。您也可以查看this答案。sf6xfgos2#
您只需遵循以下结构: