我正在使用elastic6.7,并尝试使用点分隔符更新单个嵌套字段,如下所示
POST p_app/_update_by_query
{
"script": {
"source": """
if (ctx._source?.info.status != null)
{
ctx._source.remove('info.status');
ctx._source.put('info.status', 'updated_value');
}
""",
"lang": "painless"
},
"query": {
"terms": {
"_id": [
"1011"
]
}
}
}
但是它并没有更新info
对象中的status
字段,而是创建了一个新的字段,名为info.status
,具有给定的值。
1条答案
按热度按时间elcex8rz1#
需要像这样将父对象指定为源