Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:使用Elasticsearch扫描获得10000多个结果ScanError_Python_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Python,elasticsearch" /> elasticsearch,Python,elasticsearch" />

Python:使用Elasticsearch扫描获得10000多个结果ScanError

Python:使用Elasticsearch扫描获得10000多个结果ScanError,python,elasticsearch,Python,elasticsearch,我想查询Elasticsearch并打印查询的所有结果。默认最大值为10000,但我想将此最大值扩展到更大的值。我正在使用Python 我正在使用Elasticsearch.helpers.scan。它似乎可以工作,但在打印结果的过程中,我出现了以下错误: elasticsearch.helpers.ScanError: Scroll request has only succeeded on 66 shards out of 80. 我完全不知道这意味着什么,有人能解释一下并提供解决方案来解

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

我正在使用Elasticsearch.helpers.scan。它似乎可以工作,但在打印结果的过程中,我出现了以下错误:

elasticsearch.helpers.ScanError: Scroll request has only succeeded on 66 shards out of 80.
我完全不知道这意味着什么,有人能解释一下并提供解决方案来解决这个问题吗

此外,如果有比Elasticsearch.helpers.scan更好/更容易使用的模块/api,请告诉我


谢谢

将raise\u on\u error=False传递给扫描功能

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

这为我解决了这个问题。

真正有助于了解有关异常原因的更多信息的方法非常简单-只需打开您正在使用的Elasticsearch python模块的
DEBUG
log:

from elasticsearch import logger as elasticsearch_logger
elasticsearch_logger.setLevel(logging.DEBUG)

因此,请检查
scan()
调用周围的日志。

发生这种情况时,您是否可以发布Elasticsearch日志中的任何相关异常?虽然这对某些尽力而为的查询很有帮助,但这并不是一个通用的“修复”。这将悄悄地丢弃整个碎片的文档,并破坏结果集的完整性;与您的查询匹配的文档可能存在,但不会返回。小心这个变通方法。