如何使用官方elasticsearch nodejs客户端删除与查询匹配的文档?

Rol*_*ndo 5 node.js elasticsearch

我想执行一个delete-by-query,特别是删除所有包含字段Kname的文档Gary.我正在使用最新版本的elasticsearch(2.3)我正在使用官方ES客户端:

elasticsearch-js
Run Code Online (Sandbox Code Playgroud)

我怎么能执行这样的删除?它不受支持吗?如果没有,请欣赏任何代码/替代品.

Val*_*Val 10

由于您使用的是ES 2.x,因此按查询删除现在是一个插件,因此您需要先安装它,然后还需要为Javascript客户端使用deleteByQuery扩展库.

然后你就可以表演了

    client.deleteByQuery({
        index: 'test',
        type: 'something',
        body: {
           query: {
               match: { Kname: 'gary' }
           }
        }
    }, function (error, response) {
        console.log(response);
    });
Run Code Online (Sandbox Code Playgroud)

  • 在 ES 5.4 中不需要插件。 (3认同)
  • 最新版本 `"elasticsearch": "^16.3.0"` 不需要 js 插件 (3认同)