Что делать, если я изменил отображение для своего индекса и хочет переиндексировать?Elasticsearch Reindexing при обновлении документов?
Я использую Java API, который еще не имеет функции reindex, поэтому использование большого объема решит мои проблемы. Таким образом, решение будет выглядеть как этот
исх How to reindex in ElasticSearch via Java API
Долгое время назад
- создать индекс MY_INDEX_1
- создать отображение для MY_INDEX_1
- создать псевдоним MY_INDEX_1 -> MY_INDEX
- создавать документы в MY_INDEX
Время переосмысления!
- Элемент списка
- создать индекс MY_INDEX_2
- создать отображение для MY_INDEX_2
- поиска свитки + налива всех документы из MY_INDEX_1 в MY_INDEX_2
переименование и удаление старого индекса
- создать псевдоним MY_INDEX_2 -> MY_INDEX
- удаления псевдонима MY_INDEX_1 -> MY_INDEX
- удалить индексировать MY_INDEX_1
Но что происходит, в то время переиндексации всех документов, документ, который был переиндексирован в начале обновлялся из пользователь. Или что между переиндексированием и переименованием псевдонимов вышеприведенные события?
Возможные решения?
- Один из способов будет использовать внешнюю версию, например, она не перезаписывает документ с более высокой версией
- Или, может быть решена по-другому?
- Или между переименованием псевдонимов и удалением my_index_1, переиндексированием всех документов, которые были проиндексированы с момента переиндексации? Но тогда все же было бы так, что документ был обновлен между переименованием псевдонимов и вторым переиндексированием
- Или мы должны блокировать при повторной передаче? Похоже, плохое решение ..