Python elasticsearch.helpers.scan示例

Dev*_*per 14 python python-2.7 elasticsearch elasticsearch-5

有人可以提供python elasticsearch助手客户端的扫描API示例吗?

res = elasticsearch.helpers.scan(....)

如何从res对象获得elasticsearch的所有结果?

Nor*_*ius 22

文档包含一个示例,但如果我正确读取它,则helpers.scan默认设置在ES 5.1search_type=scan删除.这会导致示例代码在ES返回时失败No search type for [scan].我们可以修改这个preserve_order=True(我不确定这里的性能含义):

import elasticsearch
import elasticsearch.helpers
es = elasticsearch.Elasticsearch()
results = elasticsearch.helpers.scan(es,
    index="test_index",
    doc_type="my_document",
    preserve_order=True,
    query={"query": {"match_all": {}}},
)

for item in results:
    print(item['_id'], item['_source']['name'])
Run Code Online (Sandbox Code Playgroud)

此帮助程序返回一个对象,您可以迭代该对象以从查询中获取实际结果.