django haystack:如何遍历所有索引元素

时间:2017-09-12 15:40:41

标签: python django elasticsearch django-haystack

我正在尝试用haystack迭代搜索查询集,但它却抛出了这个错误:

  

结果窗口太大,+大小必须小于或等于:[10000]但是[11010]。有关请求大型数据集的更有效方法,请参阅scroll api。可以通过更改[index.max_result_window]索引级别参数来设置此限制。

有没有办法迭代所有索引元素? (让我们说我有几百万条记录)。

1 个答案:

答案 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