2016-10-28 3 views
0

Я использую ES-2.4.0
индексированных JSON:
{ "_id": 1, "name": "Longsword", "description": "The Longsword can be wielded in one or two hands", "category": "Sharp" }Упругие поиск отображение индекса Updation

1.I создали индекс и отображение по умолчанию создается.
2. Теперь я пытаюсь обновить отображение, как предлагается здесь.

Ссылка: https://gist.github.com/nicolashery/6317643

Относительно точки 1: я не использовал любой анализатор;
Что касается пункт 2: я использую анализатор «not_analysed»;

Но он не работает.

Вопрос: Было ли ES-2.X прекращено отображение средства обновления, если нет, как я могу обновить отображение?

Примечание: При попытке я получаю эту ошибку

{ "ошибка": { "ROOT_CAUSE": [ { "типа": "illegal_argument_exception", "причина": " Mapper для [name] конфликтует с существующим сопоставлением в других типах: \ n [mapper [name] имеет другой [анализатор]] " } ], " type ":" illegal_argument_exception ", " reason ":" Mapper for [ name] конфликтует с существующим отображением в других типах: \ n [mapper [Имя] имеет разные [анализатор]]» }, "статус": 400}

ответ

2

Нет, изменение типа отображения существующих полей не допускается ES 2.x года.

От documentation

В общем, отображение для существующих полей не могут быть обновлены. Там есть некоторые исключения из этого правила. Например:

  • В свойствах типа данных объекта могут быть добавлены новые свойства.
  • новые многополя могут быть добавлены в существующие поля.
  • doc_values ​​может быть отключен, но не включен.
  • параметр ignore_above может быть обновлен.

Вы бы первый delete the index и создать новую с новым отображением. Также есть небольшая опечатка, это not_analyzed ("z" not "s")

+0

извините за опечатку. это 'z'. – shaun