gpt4 book ai didi

elasticsearch - 部分更新覆盖整个结构

转载 作者:行者123 更新时间:2023-12-03 00:53:43 26 4
gpt4 key购买 nike

我正在索引具有以下内容的新文档

{
"lastUpdate" : "20180114144020452",
"name" : "My Process",
"startDate" : "20180114162356585",
"endData" : "",
"tasks" : [
{
"1" : {
"lastUpdate" : "20180114144020452",
"taskId" : "123",
"subject" : "Terceira Atividade",
"status" : "Active",
"type" : "userTask",
"assign" : [
{
"date" : "20180114144020452",
"type" : "role",
"name" : "Time 3",
"id" : "Team3_345"
}
],
"receivedDate" : "",
"readDate" : "",
"finishDate" : ""
}
}
]
}

然后我尝试使用以下更新内容更改task.1.status值
{
"doc" : {
"tasks" : [
{
"1" : {
"status" : "Closed"
}
}
]
}
}

但这会覆盖整个task.1结构,删除其他值并仅关闭状态值,而不是保留其他值并仅更改状态值。

我该如何解决?谢谢

最佳答案

您需要通过这样的脚本部分更新来完成此操作

POST updates/update/1/_update
{
"script": {
"source": "ctx._source.tasks[0].1.status = 'Closed'"
}
}

关于elasticsearch - 部分更新覆盖整个结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48382832/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com