【发布时间】:2015-10-08 16:53:52
【问题描述】:
我有一个用例,其中并发更新请求会影响我的 Elasticsearch 集群。为了确保在较新的事件已经到达集群后,陈旧的事件(与较新的请求无关的事件)不会更新文档,我想通过我的更新请求传递一个脚本来比较一个字段确定传入的请求是否相关。请求如下所示:
curl -XPOST 'localhost:9200/test/type1/1/_update' -d '
{
"script": " IF ctx._source.user_update_time > my_new_time THEN do not update ELSE proceed with update",
"params": {
"my_new_time": "2014-09-01T17:36:17.517""
},
"doc": {
"name": "new_name"
},
"doc_as_upsert": true
}'
我在“脚本”字段中编写的伪代码是否可以在 Elasticsearch 中使用?如果是这样,我会喜欢语法方面的帮助(groovy、python 或 javascript)。
任何替代方法建议也将不胜感激。
【问题讨论】:
-
您能找到解决方案吗?我尝试了这种方法,但没有奏效。
-
@animageofmine 你找到解决方案了吗?
-
@animageofmine谢谢!
标签: groovy elasticsearch