我正在使用update\ by\查询更新文档,并且有一个名为“”的嵌套字段 Myfield1
“。有一个名为” id
“在” Myfield1
“。在我的例子中,Map是这样的:
"mapping":{
"mytype":{
"properties": {
"Myfield1": {
"type": "nested",
"properties": {
"id": {
"type": "string"
},
"field2": {
"type": "long"
}
}
},
"Title": {
"type": "string"
}
}
}
}
“现场” id
“innested是由uuid生成的唯一的。然后我要更新 field2
在嵌套字段中 Myfield
通过以下请求进行查询。
{
"query": {
"nested":{
"path":"Myfield1",
"query":{"match":{"Myfield1.id":"uuid"}},
"inner_hits":{"from":0,"size":1}
}
},
"script":"for (field in ctx._source.Myfield1) {if(field.id=='uuid') {field.field2='new value'}}"
}
我知道这很管用,但效率很高 script
太低了。我怎么写呢 script
“直接更新 field2
也许还有其他有效的方法。
谢谢!
暂无答案!
目前还没有任何答案,快来回答吧!