Я пытаюсь добавить новое поле массива в документ с безболезненным скриптом, но не смог.
Вот документ, который нужно обновить
"_source": {
"a": {}
}
Я хочу добавить новыймассив б под.Итак, у меня есть этот сценарий
{
"script": {
"source": "ctx._source.a.b=[params.id]",
"lang": "painless",
"params": {
"id": "id001"
}
}
}
Но я получил ошибку ниже
{
"status": 400,
"error": {
"root_cause": [
{
"reason": "object mapping for [a.b] tried to parse field [null] as object, but found a concrete value",
"type": "mapper_parsing_exception"
}
],
"type": "mapper_parsing_exception",
"reason": "object mapping for [a.b] tried to parse field [null] as object, but found a concrete value"
}
}
Я попытался создать пустой массив с помощью
"ctx._source.a.b=new ArrayList()"
И затем добавить элемент кмассив
"ctx._source.a.b.add(params.id)"
По-прежнему получена та же ошибка
Может кто-нибудь помочь мне указать, в чем проблема?Большое спасибо.