Как получить все документы по индексу эластичного поиска с клиентом Python? - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь получить весь индексный документ, используя клиент Python, но результат показывает мне только первый документ. Это мой код Python:

res = es.search(index="92c603b3-8173-4d7a-9aca-f8c115ff5a18", doc_type="doc", body = {
'size' : 10000,
'query': {
    'match_all' : {}
}
})
print("%d documents found" % res['hits']['total'])
data = [doc for doc in res['hits']['hits']]
for doc in data:
    print(doc)
    return "%s %s %s" % (doc['_id'], doc['_source']['0'], doc['_source']['5'])

1 Ответ

0 голосов
/ 07 мая 2018

Elasticsearch по умолчанию извлекает только 10 документов. Вы можете изменить это поведение - документ здесь . Лучшая практика для нумерации страниц: search after query и scroll query. Это зависит от ваших потребностей. Пожалуйста, прочитайте этот ответ Эластичный поиск не дает данных с большим числом для размера страницы

Показать все результаты:

for doc in res['hits']['hits']:
    print doc['_id'], doc['_source']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...