Переиндексация эластичного поиска и удаление старых записей - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь найти правильный способ, как переиндексировать мой индекс эластичного поиска без простоев. Я использую библиотеку Python для взаимодействия с ES. Версия ES: 6.4 .

Вот мой рабочий процесс:

  1. Создайте два псевдонима, один для поиска и один для индексации.
  2. Псевдоним поиска точки для old_index и new_index
  3. Указывает псевдоним индекса на new_index
  4. Звоните Reindex API
  5. Дождаться процесса переиндексации и удалить псевдоним поиска для old_index
  6. Удалить 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"
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...