перенести индексы из старой версии elasticsearch в elasticsearch 7.9

мы хотим обновить нашу версию elasticsearch с 5.6 до 7.9 в нашем проекте.

Мне нужно перенести наши индексы и документы в новую версию, но я не могу использовать reindex, поэтому я оставляю клиент высокого уровня для подключения к elasticsearch 7 и использую http-запрос для elasticsearch 5.

Для миграции я получаю часть документов с запросом match_all, прокручиваю из старой версии и индексирую их в новом elasticsearch с массовым запросом.

наша старая версия elasticsearch имеет 3 узла. Мой вопрос в том, что мне нужно отправлять запрос на все узлы отдельно и обрабатывать документы, или если я отправлю поиск match_all на один узел будет обрабатываться elsaticsearch (я читал sth о координирующем узле, который обрабатывает запросы, и каждый узел неявно является координирующим узлом координирующий узел.) или мне нужно отправить запрос на узел данных


person saba safavi    schedule 21.10.2020    source источник


Ответы (2)


Добавление дополнительных сведений к ответу @saeednasehi. Похоже, вы не понимаете, как Elasticsearch и его запросы работают внутри компании. См. мой ответ на то, как поисковые запросы работают в elasticsearch.

Помимо этого, хотя это правда, вы можете получать данные, подключившись к любому узлу, но в вашем ES-клиенте (JHLRC или HTTP) вы должны указать IP всех узлов, чтобы нагрузка вашего запроса (примечания) распределялась между все узлы данных, если вы просто указываете один IP-адрес узла, этот узел всегда действует как координирующий узел при отсутствии выделенного координирующего узла (по умолчанию).

person user156327    schedule 22.10.2020
comment
Итак, если я правильно понимаю, если я отправлю один и тот же запрос на три узла: node1: 9200 / index / type / _search, node2: 9200 / index / type / _search и node3: 9200 / index / type / _search, я получу три одинаковых набора результатов - person saba safavi; 22.10.2020
comment
@sabasafavi точно :), не стесняйтесь задавать дополнительный вопрос, если у вас есть дальнейшие сомнения, и не забудьте проголосовать и принять ответ, если он был полезен, TIA :) - person user156327; 23.10.2020

Когда вы запускаете кластер elsticsearch, вы можете видеть весь кластер как единую базу данных. это означает, что вы можете извлекать и вставлять данные во все кластеры, отправив свой запрос одному из них. Вам просто нужно отправить запрос на узел и получить свои данные.

person saeednasehi    schedule 21.10.2020