У меня есть документы отеля, в каждом из которых есть номера вложенного типа.
{
id: hotel_id,
rooms: [
{
id: room_id_1,
name: "room 1 name"
},
{
id: room_id_2,
name: "room 2 name"
},
....
]
}
И я хочу обновить только одно поле из определенной комнаты. Я пытаюсь обновить API, обновить комнату с идентификатором 2 из документа отеля с идентификатором 1:
POST hotels/_update/1
{
"script" : {
"source" : "if(ctx._source.rooms.id == 2) { ctx._source.rooms.name = params.new_name }",
"lang" : "painless",
"params" : {
"new_name" : "new room name"
}
}
}
Я получаю эту ошибку "Недопустимое значение ярлыка списка [идентификатор]" от ES.
Спасибо!