Подтвердить что ты не робот

Пример Python elasticsearch.helpers.scan

Может ли кто-нибудь предоставить пример сканирования API клиента помощников pythonasticsearch?

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

Как я могу получить все результаты отasticsearch с объектом res?

4b9b3361

Ответ 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'])

Этот помощник возвращает объект, который вы можете перебрать, чтобы получить фактические результаты запроса.

item имеет форму

{'_index': <str>, '_type': <str>, '_id': <str>, '_score': <float or None>, '_source': {'key': val}, 'sort': [<int>]}