2017-01-31 2 views

ответ

3

Как уже указывалось, я бы использовал 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 питона DSL http://elasticsearch-py.readthedocs.io/en/master/helpers.html#scan.

Реф. Helpers.

+0

как я могу читать данные тогда? Я могу сохранить его в переменной? –

+0

если подходит, да. Вы можете назначить его переменной результата – eliasah

+0

Это то, что я делаю 'data = elasticsearch.helpers.scan ( es, query = {" query ": {" match_all ": {}}}, index =" sku_index " , doc_type = "part" \t) 'но он возвращает' <проверка объекта генератора на 0x02C39260> ' –