我正在尝试用haystack迭代搜索查询集,但它却抛出了这个错误:
结果窗口太大,+大小必须小于或等于:[10000]但是[11010]。有关请求大型数据集的更有效方法,请参阅scroll api。可以通过更改[index.max_result_window]索引级别参数来设置此限制。
有没有办法迭代所有索引元素? (让我们说我有几百万条记录)。
答案 0 :(得分:1)
max_result_window是一个索引设置,您可以根据需要进行更改,但大部分时间都不需要,因为如果您想使用搜索API迭代所有文档,那么就不应该去。 尝试扫描并滚动API。
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html
还有一个个人说明:我使用了django的elasticsearch,我发现haystack很难用而不是elasticsearch-dsl。试着看看elasticsearch-dsl-py。 https://github.com/elastic/elasticsearch-dsl-py