一尘不染

如何在Python中使用Elasticsearch检索1M文档?

elasticsearch

我如何从Python的Elasticsearch中获得100000个寄存器?MatchAll查询仅检索10000。


阅读 355

收藏
2020-06-22

共1个答案

一尘不染

就像已经指出的那样,我将使用Scan API来做到这一点。

import elasticsearch
from elasticsearch import Elasticsearch

ES_HOST = {
    "host": "localhost",
    "port": 9200
}
ES_INDEX = "index_name"
ES_TYPE = "type_name"

es = Elasticsearch(hosts=[ES_HOST], )

results_gen = elasticsearch.helpers.scan(
    es,
    query={"query": {"match_all": {}}},
    index=ES_INDEX,
    doc_type=ES_TYPE
)

results = list(results_gen)

您还应该阅读有关Elasticsearch python DSL中的扫描助手的信息,网址为 http://elasticsearch-
py.readthedocs.io/en/master/helpers.html#scan。

参考 帮手

2020-06-22