我有一个nodejs应用,该应用调用ES的updateByQuery API,如下所示:
elasticsearchClient.updateByQuery({
index: 'logstash-dev-2019.05.14',
body: {
"query": {
"ids": {
"values": alert.esId
}
},
"script": {
"source": `ctx._source.alertObject.violation_status = 'closed'`,
"lang": "painless"
}
}
});
但是偶尔我遇到version_conflict_engine_exception
。我想通过使用documentation中提到的conflict=proceed
来解决冲突。我在哪里适合我的更新电话?
答案 0 :(得分:1)
您可以使用docs中提供的querystring
对象,请滚动到链接的末尾。
elasticsearchClient.updateByQuery({
index: 'logstash-dev-2019.05.14',
querystring: {
"conflict": "proceed"
},
body: {
"query": {
"ids": {
"values": alert.esId
}
},
"script": {
"source": `ctx._source.alertObject.violation_status = 'closed'`,
"lang": "painless"
}
}
});