我在ElasticSearch中将以下文档编入索引
{ "myObj":{ "name": "test", "elements": { "val": 1 } } }
我想进行部分更新以清空嵌套属性,elements所以我应该这样做elements": {};因此,我尝试发送部分更新:
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" } } }