2017-06-02 15 views
0

elasticsearchインデックスで特定の種類のすべての文書を削除することはできますか? - タイプマッピングにも影響しますか? - そのタイプのマッピングを保持します。使用弾性検索データの削除

elasticsearch 2.2

+0

https://www.elastic.co/guide/en/elasticsearch/reference/2.2/docs-delete.html –

答えて

1

このhereに関連する答えを見つけました。以下の内容はその答えから直接得られたものです。

これは、クエリによる削除プラグイン43を使用することができます。ここでは例です:

我々は2種類のインデックスを作成し、いくつかの文書を追加します。

POST /_bulk 
{"index":{"_index":"mammals","_type":"people"}} 
{"tag_line":"I am Mike"} 
{"index":{"_index":"mammals","_type":"people"}} 
{"tag_line":"I am Hanna"} 
{"index":{"_index":"mammals","_type":"people"}} 
{"tag_line":"I am Bert"} 
{"index":{"_index":"mammals","_type":"animals"}} 
{"tag_line":"I am a dog"} 
{"index":{"_index":"mammals","_type":"animals"}} 
{"tag_line":"I am a cat"} 

我々はすべての文書を照会するとき、私たちは5件の結果を得る:今は削除することができます

GET /mammals/_search?size=0 
{ 
    "query": { 
     "match_all": {} 
    } 
} 

を「動物」タイプのすべての文書:

DELETE /mammals/animals/_query 
{ 
    "query": { 
     "match_all": {} 
    } 
} 

これは、delete-by-queryプラグインがインストールされています。

すべての文書をもう一度検索すると、動物がなくなると3つの結果しか得られません。

P.S:このプラグインは2.xバージョンで、5.xではありません。したがって、5.xではこれを行うための他の方法があります。この削除は個々のドキュメントを削除するだけなので、マッピングには影響しないと私は信じています。

+0

ありがとうRajind!ですから、elasticsearch-2.2にdelete-by-queryプラグインをインストールしなければ、特定のタイプのすべてのドキュメントを削除することはできません。 – shan

+0

@shan私が知る限り、他の方法はありません。 –