Обновление Elasticsearch ignore_above дает недопустимое_argument_exception - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь обновить значение ignore_above в моих индексах.Я использую PUT для /_mappings/my_type (тестер) с таким телом:

{
 "properties": {
  "message.keyword": {
    "type": "keyword",
    "ignore_above": 20 
  }
 }
}

Возвращает: "illegal_argument_exception", "reason": "mapper [message] of different type, current_type [text], merged_type [ObjectMapper]"

Любые идеи о том, как решить эту проблемубыло бы отлично.

Вот мое отображение:

"mappings": {
        "tester": {
            "properties": {
                "message": {
                    "type": "text",
                    "fields": {
                        "keyword": {
                            "type": "keyword",
                            "ignore_above": 256
                        }
                    }
                },

1 Ответ

0 голосов
/ 26 февраля 2019

Из ошибки видно, что поле 'message' имеет тип данных 'text', что означает анализируемый текст, а не объект / карту Json.

Когда вы пытаетесь установить отображение для «message.keyword», вы ссылаетесь на сообщение как на объект, и в этом проблема.

вам нужно изменить «message» на мультиполе , чтобы иметь как ключевые, так и текстовые версии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...