0
我有一個文檔:更改多個文檔字段不起作用在ES 2.3.3
"_index": "boe_bpm",
"_type": "document",
"_id": "3215951",
"_version": 1,
"_source": {
"title": "aaaa",
"process": {
"tasks": [{
"class": "value1",
"id": 1
}, {
"class": "value1",
"id": 2
},
... {
"class": "value1",
"id": 1000
}
]
}
}
我想改變的process/tasks
價值,但失敗了,我的代碼:
List ll = new ArrayList();
for (int i = 0; i < 1000; i++) {
ll.add(i);
}
params.put("ids", ll);
params.put("classParam", "xxxxzzzaaa");
client.prepareUpdate("boe_bpm", "document", "3215951").setScript(new Script(
"def items = ctx._source.items.findAll{ it.id in ids}; if (items) { for(int i=0; i<items.size(); i++) { items[i]['class']=classParam; } }",
ScriptType.INLINE, null, params))
.get();
有沒有錯誤或異常信息。
爲什麼它不工作?如何改變我的代碼?
你得到一個錯誤,或者什麼都沒有更新? – Val
沒有錯誤或異常信息返回,什麼都沒有updated.I不知道爲什麼。 –
根據上述示例文檔,'ctx._source.items'應該是'ctx._source.process.tasks',對不對? – Val