Вы можете сделать простое reindex
, но я бы также порекомендовал вам взглянуть на Shrink Index
API:
https://www.elastic.co/guide/en/elasticsearch/reference/7.0/indices-shrink-index.html
Приведенная выше документация ссылается на v7.0, но это повторяется много раз.
В вашем примере вы бы сделали что-то похожее на следующее:
Во-первых, перераспределите копии всех основных сегментов или фрагментов реплики на один узел и предотвратите любой доступ к записи в будущем, пока выполняются операции сжатия.
PUT /my_source_index/_settings
{
"settings": {
"index.routing.allocation.require._name": "shrink_node_name",
"index.blocks.write": true
}
}
Инициируйте операцию сжатия, очистите параметры индекса, заданные в предыдущей команде, и обновите основные настройки и параметры реплики в целевом индексе:
POST my_source_index/_shrink/my_target_index-reindexed
{
"settings": {
"index.routing.allocation.require._name": null,
"index.blocks.write": null,
"index.number_of_replicas": 1,
"index.number_of_shards": 1,
"index.codec": "best_compression"
}
}
Обратите внимание, что выше также выделяется осколок реплики - если вы не хотите этого, убедитесь, что вы установили его на 0.
Вы бы хотели создать какой-нибудь скрипт для перебора списка исходных индексов один за другим.