2016-05-12 1 views
3

は、私は具体的には、delete-by-queryを実行Garyを含むフィールドのKnameを持っているすべての文書を削除したいです。私は、このような削除を実行するにはどうすればよいはどのように公式elasticsearch nodejsクライアントを使用してクエリに一致する文書を削除するには?

elasticsearch-js 

:私は、公式ESクライアントを使用していますelasticsearchの最新バージョン(2.3)を使用していますか?サポートされていませんか?そうでない場合は、コード/代替案をお読みください。

+0

を行うことができますか? – Val

+0

私はESの最新の2.3を使用しています。また、elasticsearch-clientの最新バージョンを使用します。 – Rolando

答えて

6

ES 2.xを使用しているため、delete-by-queryがプラグインになりましたので、install itが必要です。また、Javascriptクライアント用のdeleteByQuery拡張ライブラリも必要です。

その後、あなたはどのESのバージョンを使用している

client.deleteByQuery({ 
     index: 'test', 
     type: 'something', 
     body: { 
      query: { 
       match: { Kname: 'gary' } 
      } 
     } 
    }, function (error, response) { 
     console.log(response); 
    }); 
+0

なぜそれがプラグインですか?これはESにありますか? – Rolando

+0

はい、ES 2.0のように、(https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking_20_removed_features.html#_delete_by_query_is_now_a_plugin)は、今あなたがインストールする必要がプラグインである[クエリによって削除]。単に '/ bin/plugin install delete-by-query'を実行してESを再起動してください。 – Val

+0

これを試すことができましたか? – Val

関連する問題