Может ли кто-нибудь предоставить пример сканирования API клиента помощников pythonasticsearch?
res = elasticsearch.helpers.scan(....)
Как я могу получить все результаты отasticsearch с объектом res?
Ответ 1
Документация включает в себя пример, хотя, если я правильно helpers.scan, helpers.scan по умолчанию устанавливает search_type=scan, который был удален в ES 5.1. Это приводит к сбою кода примера с 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'])
Этот помощник возвращает объект, который вы можете перебрать, чтобы получить фактические результаты запроса.