通过查询更新
编辑通过查询更新编辑
_update_by_query 最简单的用法是在不更改源的情况下对索引中的每个文档执行更新。这对于获取新属性或其他一些在线映射更改非常有用。
'use strict' const { Client } = require('@elastic/elasticsearch') const client = new Client({ cloud: { id: '<cloud-id>' }, auth: { apiKey: 'base64EncodedKey' } }) async function run () { await client.index({ index: 'game-of-thrones', document: { character: 'Ned Stark', quote: 'Winter is coming.' } }) await client.index({ index: 'game-of-thrones', refresh: true, document: { character: 'Arya Stark', quote: 'A girl is Arya Stark of Winterfell. And I\'m going home.' } }) await client.updateByQuery({ index: 'game-of-thrones', refresh: true, script: { lang: 'painless', source: 'ctx._source["house"] = "stark"' }, query: { match: { character: 'stark' } } }) const result = await client.search({ index: 'game-of-thrones', query: { match_all: {} } }) console.log(result.hits.hits) } run().catch(console.log)