空嵌套对象,对ElasticSearch进行部分更新
我在ElasticSearch中将以下文档编入索引
{ "myObj":{
"name": "test",
"elements": {
"val": 1
}
}
}
我想进行部分更新以清空嵌套属性,elements
所以我应该这样做elements": {}
;因此,我尝试发送部分更新:
POST /entities/_doc/1/_update
{ "doc" : {
"myObj":{
"elements": {}
}
}
}
但是,此操作无济于事,文档保持不变。如何使用部分更新清空文档中的嵌套对象?
回答:
我建议像这样进行脚本更新,它将起作用:
POST entities/_doc/1/_update{
"script" : {
"source": """
ctx._source.myObj.elements.clear();
ctx._source.myObj.name = params.name;
""",
"params": {
"name": "newTest"
}
}
}
以上是 空嵌套对象,对ElasticSearch进行部分更新 的全部内容, 来源链接: utcz.com/qa/412896.html