Реиндексация - это копирование существующих данных из исходного индекса в конечный, который может находиться как в том же, так и в другом кластере. В OpenSearch для этой цели существует специальная конечная точка _reindex. Переиндексация чаще всего требуется для обновления маппинга или настроек.
Примеры
Переиндексация данных из исходного индекса в целевой индекс в том же кластере
1 2 3 4 5 6 7 8 9 | POST /_reindex?pretty { "source": { "index": "news" }, "dest": { "index": "news_v2" } } |
Примечания
- Reindex API не копирует настройки и маппинги из исходного индекса в целевой индекс. Перед началом процесса переиндексации необходимо создать целевой индекс с нужными настройками и маппингом.
- API предоставляет обширный список опций конфигурации для получения данных из исходного индекса, таких как индексирование на основе запросов и выбор нескольких индексов в качестве исходного индекса.
- В некоторых сценариях, когда переиндексация требует сложной обработки данных и их модификации на основе логики приложения, использование API нецелесообразно. В этом случае можно написать собственный сценарий, используя OpenSearch scroll API для получения данных из исходного индекса и bulk API для индексации данных в целевой индекс.