mapper_parsing_exception при обновлении документа в упругом поиске с использованием клиента JavaScript - PullRequest
0 голосов
/ 24 января 2019

Я получаю документ из ES, а затем пытаюсь обновить его, используя js client:

Структура документа как (частичная):

{

_id = "2c3cb61e-fd2a-11e8-8ac1-0242ac110008",

_index = "my_index",

_source: {taskName: "Task_name", ....}

}

Код:

 hit._source.taskName = 'New_task_name';
 esClient.bulk({
 body: [
     { update: { _index: 'my_index', _type: 'default', _id: hit._id }},
     { doc: hit}
 ]
}, function (err, resp) {
 // ...
 console.log(err, resp);
});

Но выдает ошибку как:

{"type": "mapper_parsing_exception", "reason": "поле [_index] is поле метаданных и не может быть добавлено в документ. Используйте индекс Параметры запроса API. "}

Означает ли это, что я не могу иметь _index в качестве имени поля в моем документе?

1 Ответ

0 голосов
/ 24 января 2019

Отличная работа, ты почти у цели! Вам нужно только отправить то, что находится в _source, вместо этого сделайте это так:

 hit._source.taskName = 'New_task_name';
 esClient.bulk({
 body: [
     { update: { _index: 'my_index', _type: 'default', _id: hit._id }},
     { doc: hit._source}                                               <-- change here
 ]
}, function (err, resp) {
 // ...
 console.log(err, resp);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...