Переиндексация в elasticsearch v2.1.0 в облаке приложений Swisscom

Я хочу переиндексировать данные из существующего индекса в облаке приложений Swisscom в новый (необходимо внести коррективы в сопоставление). Я видел, что начиная с версии 2.3.0 есть API переиндексации. Но так как версия elasticsearch в appcloud — 2.1.0, я понятия не имею, как переиндексировать мои данные. Есть ли у вас какие-либо предложения, как действовать? И будет ли в ближайшем будущем обновление elasticsearch?


person PouletFreak    schedule 17.08.2017    source источник
comment
Извините, отредактировал мой вопрос. Думал, что, поскольку я использовал наш тег разработчика, я мог бы это сделать.   -  person PouletFreak    schedule 18.08.2017


Ответы (1)


Документ в elasticsearch неизменяем. Переиндексация документа состоит из следующих шагов:

  • Получите JSON (который вы хотите переиндексировать)
  • Измени это
  • Удалить старый документ
  • Индексировать новый документ

В вашем случае вы хотите переиндексировать весь свой индекс, поэтому я предлагаю вам использовать API сканирования, чтобы получить все ваши старые документы и переиндексировать их в новый индекс: Сканировать документацию API для переиндексации.

person mel    schedule 17.08.2017
comment
Спасибо за ответ! Я написал простой скрипт на Python для извлечения моих данных с помощью API get, и теперь я могу снова проиндексировать его в новый. Я думаю, что API сканирования недоступен в ES версии 2.1, но я думаю, что он работает с моим подходом! - person PouletFreak; 18.08.2017
comment
Вы должны обновить свой ES, много интересных функций было реализовано! - person mel; 18.08.2017
comment
Я бы с удовольствием, но я использую службу ELK в облаке приложений, поэтому я не могу влиять на обновления. Локально работаю с v5.5! - person PouletFreak; 18.08.2017