Python:使用 Elasticsearch Scan 获得超过 10,000 个结果 ScanError

标签 python elasticsearch

我想查询 Elasticsearch 并打印查询的所有结果。默认最大值为 10,000,但我想将此最大值扩展到更大。我正在使用 Python。

我正在使用 Elasticsearch.helpers.scan。它似乎有效,但是在打印结果的过程中我得到了这个错误:

elasticsearch.helpers.ScanError: Scroll request has only succeeded on 66 shards out of 80.

我完全不确定这意味着什么,有人可以解释并提供解决方案来解决这个问题吗?

此外,如果有比 Elasticsearch.helpers.scan 更好/更简单的模块/api 可以使用,请告诉我!

谢谢!

最佳答案

将 raise_on_error=False 传递给扫描函数。

res = scan(es, query=query, scroll='50m', size=1000, raise_on_error=False)

这为我修好了。

关于Python:使用 Elasticsearch Scan 获得超过 10,000 个结果 ScanError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55695942/

相关文章:

python - 使用共享链接访问谷歌电子表格

elasticsearch - 通过查询删除记录中的ElasticSearch错误

security - 如何在弹性云上进行IP过滤

python - 方便地从 Python 包中的模块导入多个类

python - 在 Python 中使用 inet_ntoa 函数

python - C++程序中调用Cython(Python3.6)

java - 安装 JRE 8 和 Elasticsearch 7.3.1 后没有 jvm.options

java - NoNodeAvailableException [没有已配置的节点可用:[{#transport#-1} {OqtopIzTQmOjjLBzr2G_JA} {127.0.0.1} {127.0.0.1:9300}]]

elasticsearch - 如何通过 HAproxy 访问 Kibana 仪表板

Python - 检查 ui 文本字段内的整数