node.js - 如何查询文档中应包含and子句的文档?

标签 node.js elasticsearch

我如何使用nodejs驱动程序进行 Elasticsearch 确实实现了以下情形。场景是我必须更新“title”索引中的所有文档,其中给出了tvSeries id,给出了tvSeriesNumber?

我只想匹配同时满足这两个查询的文档。我知道我应该使用client.updateByQuery方法,但是我不确定要为查询主体添加什么。

最佳答案

这个怎么样?您可能需要修改脚本才能更新所需的任何字段。

client.updateByQuery({ 
       index: "title",
       type: "type",
       body: { 
          "query": { 
             "bool": { 
               "filter": [
                 { "term": { "tvSeriesId": 123} },
                 { "term": { "tvSeriesNumber": 456} }
               ]
             } 
          }, 
          "script": { 
             "inline": "ctx._source.xyz = 'abc'"
          }
       }
    }, function(err, res) { 
        if (err) { 
           reportError(err) 
        } 
        cb(err, res)
    }
)

关于node.js - 如何查询文档中应包含and子句的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42970171/

相关文章:

elasticsearch - Lucene中的ES Match查询模拟

linux - node.js 与 IIS 7.5 性能对比

node.js - Truffle 安装后启动失败

session - 由于 session 存储,很可能无法在本地扩展 socket.io

elasticsearch - ElasticSearch中的模板

elasticsearch - ElasticSearch。如何在不按筛选器计数所有文档的情况下获取一份文档?

javascript - Cheerio api 上的“$”混淆

node.js - 使用 Node js 的 RESTful Web 服务

elasticsearch - Elasticsearch查询时如何检索文件字段

ruby-on-rails - 通过 elasticsearch 进行排行榜排名(带轮胎)