我要执行按查询更新,特别是更新其中字段名称包含Gary的特定文档。我正在使用最新版本的elasticsearch(2.3)我正在使用官方ES客户端的nodejs。提供一种替代方法来执行此操作(查找文档,更新文档中的特定字段)可以作为正确答案。
该代码尚未在JavaScript客户端中发布。这将在Javascript客户端库的2.3 API版本中提供。目前,JS客户端仅支持apiVersion:2.2
您可以使用任何HTTP客户端(邮递员,curl,/ head /,Sense等)来访问REST端点并执行所需的操作。
如果确实需要通过Node.js进行此操作,则可以使用如下http模块:
http
var http = require('http'); var options = { host: 'localhost', port: 9200, path: '/your_index/your_type/_update_by_query', method: 'POST' }; var req = http.request(options, function(resp){ resp.on('data', function(chunk){ // check update response }); }).on("error", function(e){ console.log("Got error: " + e.message); }); var query = { "script": { "inline": "ctx._source.field = 'value2'" }, "query": { "term": { "field": "value1" } } }; // write data to request body req.write(JSON.stringify(query)); req.write('\n'); req.end();