如何在Elasticsearch中更新没有ID条件的文档?

问题描述 投票:1回答:1

我的目标是更新文档。

var elasticsearch = require('elasticsearch');
    var client = new elasticsearch.Client({
    host:"**************",
    log: 'trace',
});

"hits": [
{
    "_index": "fds",
    "_type": "_doc",
    "_id": "9560206-El-MOHABXh-qOCdi1FYN",
    "_score": 1.0,
    "_source": {
        "videoId": "El-MOHABXh-qOCdi1FYN",
        "mobile": "9560206",
        "name": "alexa",
        "choice": "like",
         "code": "+95",
        "lastUpdate": "2020-01-15T06:12:00.073Z"
    }
},
{
    "_index": "fds",
    "_type": "_doc",
    "_id": "9560206-SQENUHEBcYN_H8khsonC",
    "_score": 1.0,
    "_source": {
         "videoId": "El-MOHABXh-qOCdi1FYN",
        "mobile": "9560206",
        "name": "alexa",
        "choice": "like",
        "code": "+91",
        "lastUpdate": "2020-01-15T06:12:00.073Z"
    }
}]

我的问题是我们如何更新条件字段名称为v​​ideoIdmobilecode。的文档并更新字段名称为名称选择

假设我们有条件videoId“:” El-MOHABXh-qOCdi1FYN“,” mobile“:” 9560206“” code“:” +95“

elasticsearch elasticsearch-5
1个回答
0
投票
let inputData = {
    "script" : {
      "source": `ctx._source['name']='Apple'; 
      ctx._source['choice']='unlike'`
    },
    "query": {
      "bool": {
        "filter": [{
            "match": {
                "code":"+91"
            }
        },{
          "match": {
              "videoId": "El-MOHABXh-qOCdi1FYN"
          }},{
            "match": {
                "mobile": "9560206"
            }
        }]
      }
    }

}

 client.updateByQuery({
    index: indexname,
    type: '_doc',
    body: inputdata

})
© www.soinside.com 2019 - 2024. All rights reserved.