Я пытаюсь найти правильный способ, как переиндексировать мой индекс эластичного поиска без простоев. Я использую библиотеку Python для взаимодействия с ES. Версия ES: 6.4 .
Вот мой рабочий процесс:
- Создайте два псевдонима, один для поиска и один для индексации.
- Псевдоним поиска точки для
old_index
и new_index
- Указывает псевдоним индекса на
new_index
- Звоните Reindex API
- Дождаться процесса переиндексации и удалить псевдоним поиска для
old_index
- Удалить
old_index
Однако у меня есть одна оговорка в виде дублирующихся записей, пока я переиндексирую. Запись может быть как old_index
, так и new_index
.
Есть ли способ автоматического удаления записей при их перемещении new_ index
?
Я пытался что-то вроде этого. Очевидно, что все записи будут удалены в new_index
вместо old_index
POST _reindex
{
"source": {
"index": "old_index"
},
"dest": {
"index": "new_index",
},
"script": {
"source": "ctx.op = 'delete'",
"lang": "painless"
}
}