Ошибка при попытке переименовать имя вложенного объекта в elasticsearch - PullRequest
1 голос
/ 19 июня 2020

Я пытаюсь переименовать данные в этой форме:

enter image description here

используя это:

POST r_xair_signals-2020-06/_update/2020-06-15T22:23:00Z_-1344027716
{
  "doc" : {
        "Customer ImpactedNested" : "CustomerImpactedNested"
    }
}

Но Я получаю:

"type": "mapper_parsing_exception",
    "reason": "object mapping for [Customer ImpactedNested] tried to parse field [Customer ImpactedNested] as object, but found a concrete value"

Я подтвердил, что тип Customer ImportedNested является вложенным. Я вижу в Интернете информацию о людях, получающих эту ошибку, но не при попытке переименования, и не вижу никаких решений. Я видел одну статью, в которой указывалось, что это произошло, когда новое имя вступило в конфликт с существующим. Итак, попробовал переименовать в CustomerImpestedNested11111 в качестве теста (обязательно уникального), но результат тот же.

Любые идеи были бы отличными!

1 Ответ

2 голосов
/ 21 июня 2020

На самом деле есть две проблемы.

  1. Ваш запрос не переименовывает поле.
  2. Переименование вложенного поля

Что на самом деле происходит в следующая строка из вопроса:

POST r_xair_signals-2020-06/_update/2020-06-15T22:23:00Z_-1344027716
{
  "doc" : {
        "Customer ImpactedNested" : "CustomerImpactedNested"
    }
}

Он обновляет значение столбца of column=Customer ImpactedNested до CustomerImpactedNested документа с идентификатором 2020-06-15T22:23:00Z_-1344027716.

And Customer ImpactedNested - это вложенный объект, и вы пытаетесь установить значение string для поля вложенного объекта. Следовательно, вы получаете сообщение об ошибке. Обратитесь к этому

Переходя к исходной проблеме, вам нужно сделать это через reindex. Обратитесь к этому , и к этому

POST _reindex
{
  "source": {
    "index": "r_xair_signals-2020-06"
  },
  "dest": {
    "index": "<some_new_index_name>"
  },
  "script": {
    "inline": """ctx._source['CustomerImpactedNested'] = ctx._source.remove("Customer ImpactedNested")"""
  }
}

Пожалуйста, попробуйте описанное выше и сообщите мне об ошибках, поскольку я не пробовал выполнить вышеуказанный запрос.

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