Elasticsearch Python передает результат сканера массовому писателю - PullRequest
0 голосов
/ 13 июня 2019

Я читаю из одной среды ES и пишу в другую.По разным причинам это единственное доступное решение на данный момент.Я отправил сканер следующим образом.

elastic_source = elasticsearch.Elasticsearch(
    "https://sourceHostName.com:9200",
    http_auth=('elastic', 'changeme'))

scanner = elasticsearch.helpers.scan(elastic_source, query={"query": {"match_all": {}}},
                                          index="the_index")

Могу ли я передать результаты этого помощника по сканированию массовому писателю?Если да, то как?

1 Ответ

0 голосов
/ 13 июня 2019
elastic_source = elasticsearch.Elasticsearch(
    "https://sourceHostName.com:9200",
    http_auth=('elastic', 'changeme'))

scanner = elasticsearch.helpers.scan(elastic_source, query={"query": {"match_all": {}}},
                                          index="the_index")
scan_result = ({
                         "_index": _index,
                         "_type": result['_type'],
                         "_id": result['_id'],
                         "_source": result['_source'],
                     }, for result in scanner)

elasticsearch.helpers.bulk(elastic_destination, scan_result)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...