空嵌套对象,对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

回到顶部