Мы используем эластичный поиск 5.5. Мы внесли некоторые изменения в отображение:
- Добавлены некоторые новые поля.
- Добавлен анализатор для некоторых полей.
- Удалены некоторые поля.
- Исключил некоторые существующие поля из _all.
- Удалил одну и ту же настройку анализатора из некоторых выходящих полей.
Вот что я понимаю: Для случаев 2 и 4 нам нужно выполнитьиндексирование, чтобы изменения вступили в силу.
Один из подходов, которые я узнал для выполнения повторной индексации, - это использование _update_query с конфликтами = продолжить.
Мне известны только другие способы:index API или нашли несколько подходов, которые не требуют простоя. Но если мы рассмотрим случай 2, где мы добавляем анализатор к существующим полям, насколько хорошей или плохой является идея использовать update_bu_query для выполнения переиндексации? Мы можем иметь десятки индексов со 100 тысячами документов в них.
Кроме того, _update_by_query работает на снимке? т.е. после запуска он продолжается только для активов, доступных в индексе на момент запуска? Что произойдет, если новые документы будут добавлены, когда этот запрос будет обрабатываться?
Поможет ли это эффективному делу 5? Удалит ли он проанализированные данные?