如何在ElasticSearch 6.1中进行条件更新和插入?

时间:2018-07-02 00:40:49

标签: elasticsearch

如果文档已经存在,我想进行条件更新,如果不存在,我只想插入它。我尝试过类似下面的操作,如果文档已经存在于ES中,它将执行条件更新,但是如果ES中没有文档,它将无法插入

{
    "scripted_upsert":true,
    "script" : {
        "inline": "if(ctx._source.num > params._source.num) {ctx._source = params._source}",
        "lang": "painless",
        "params" : {
            "_source" : {
                "num": 7,
                "url":"foo.com/bar",
                "response":404,
                "time":"2014-01-01 12:32"
            }
        }
    },
    "upsert" : {}
}

此外,由于我的文档可以包含100个字段,因此我也尝试不在paras和upsert元素中复制相同的文档。

0 个答案:

没有答案