Я пытаюсь разработать процесс для повторной индексации индекса Elasticsearch с нулевым временем простоя чтения, отклоняя попытки записи до завершения процесса.
Учитывая исходный индекс и псевдоним, указывающий на него, текущий поток выглядит следующим образом:
- Создание промежуточного индекса
- Сделать исходный индекс доступным только для чтения
- Копирование данных из исходного индекса в промежуточный индекс
- Сделать промежуточный индекс доступным только для чтения
- Обновить псевдоним, чтобы он указывал на промежуточный индекс
- Повторное создание исходного индекса
- Копировать данные из промежуточного индекса в исходный индекс
- Обновить псевдоним, чтобы он указывал на исходный индекс
Проблема в том, что, закрывая индекс или делая его доступным только для чтения с помощью index.blocks.read_only=true
, я не могу обновить его псевдоним.
Важно сделать индекс доступным только для чтения, чтобы убедиться, что любой, кто пытается записать данные, получит ошибку и самостоятельно выполнит попытку.
Обновление псевдонима важно, чтобы каждый, кто пытается прочитать данные, получал данные без проблем.
Как мне добиться этого?