Лучший способ переиндексировать несколько индексов в ElasticSearch

Я использую Elasticsearch 5.1.1 и имею более 500 индексов, созданных с сопоставлением по умолчанию, предоставленным ES.

Теперь мы решили использовать динамические шаблоны. Чтобы применить этот шаблон/сопоставление к старым индексам, мне нужно переиндексировать все индексы.

Как лучше всего это сделать? Можем ли мы использовать Kibana для этого? Не удалось найти достаточную документацию для этого.


person SSG    schedule 24.05.2017    source источник


Ответы (4)


Вы можете использовать _reindex API. который также может переиндексировать несколько индексов. Он был специально построен для этого.

person Andrei Stefan    schedule 26.05.2017
comment
Спасибо, Андрей, не могли бы вы привести небольшой пример. Также обратите внимание. Я хочу переиндексировать с помощью java - person SSG; 26.05.2017
comment
Я бы начал с этого предложения: discuss.elastic.co/t/reindex-java -api/45923 - person Andrei Stefan; 27.05.2017
comment
Хорошо… на самом деле мы используем экземпляр AWS ElasticSearch, я думаю, есть некоторые проблемы с поддержкой транспортного клиента для экземпляра AWS ES. - person SSG; 27.05.2017
comment
Я понятия не имею, как это делает AWS ES. И вы должны были указать все эти детали в своем посте с самого начала, а не после того, как я дал ответ. Это некачественный пост. - person Andrei Stefan; 27.05.2017
comment
Извините за это, но ваш намек, т.е. java-api/45923, очень помогло! Спасибо еще раз !! - person SSG; 30.05.2017
comment
Привет, Вал, @AndreiStefan, нужна помощь для переиндексации, я разместил здесь новый вопрос: stackoverflow.com/questions/44863031/ - person SSG; 02.07.2017

Пример: переиндексация с ежедневного индекса на ежемесячный индекс (август)

POST _reindex?slices=10&refresh
{
  "source": {
    "index": "myindex-2019.08.*"
  },
  "dest": {
    "index": "myindex-2019.08"
  }
}

Мониторинг задачи переиндексации (дождитесь завершения)

GET _tasks?detailed=true&actions=*reindex

Проверьте, был ли создан новый индекс

GET _cat/indices/myindex-2019.08*?v&s=index

Вы можете удалить старые индексы

DELETE myindex-2019.08.*

Источник:

https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html

person Thiago Falcao    schedule 21.08.2019

Скрипт Bash для переиндексации всех индексов, соответствующих шаблону: https://gist.github.com/hartfordfive/e507bc47e17f4e03a890555918900e44d

person Petr Aleksandrov    schedule 07.12.2019

Если вы хотите отфильтровать какое-то поле и переиндексировать его из индекса, вы можете использовать это.

POST _reindex { "source": { "index": "auditbeat", "query": { "match": { "agent.version": "7.6.0" } } }, "dest": { "index":"auditbeat-7.6.0" } }

person Musab Doğan    schedule 09.06.2020