我需要从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中不起作用
答案 0 :(得分:2)
最好不要这样做,这就是为什么他们将最大数量设置为10000的原因。增加index.max-result-window
并不是一个好主意,它可能导致集群延迟或崩溃。设置大小后,ES会在获取数据之前创建相同大小的堆。这些记录将保留在RAM中,除非您拥有强大的硬件和巨大的堆空间,否则最好不要这样做,因为它可能会使群集崩溃或使其速度变慢。
替代方法是使用scroll API
,From-size
或Search-after
(可能是最好的-