私はElasticSearch - 1.5で古いバージョンを使用しています。ES 1.5クエリAPIの削除が機能しない
問題:数百万から数百万のような多くの文書を削除する必要があります。私は_id
を含め、レコードに関するすべての情報を持っています - _id
の配列は私が使いたいものです。
スケールの問題:前回のループでこの削除がありましたが、後続の操作を高速に実行するとESが矛盾します。そこで私は一括削除を探すことにしました。
私はdelete by query APIを利用しようとしています。
ドキュメント状態:
curl -XDELETE 'http://localhost:9200/twitter/tweet/_query' -d '{ "query" : { "term" : { "user" : "kimchy" } } } '
を私がやっているもの:
curl -XDELETE 'http://localhost:9200/my_index/logs/_query' -d '{
"query" : {
"terms" : { "_id" : ["AVTD6fhLAn35BG25xbZz", "AVTD6fhLAn35BG25xbaC"] }
}
}
'
を応答は次のとおりです。
{
"found":false,
"_index":"my_index",
"_type":"logs",
"_id":"_query",
"_version":1,
"_shards":{"total":2, "successful":1, "failed":0}
}
そして、それは書類のいずれかを削除しません。 。これらのレコードを実際に削除して削除するにはどうすればよいですか?
答えをありがとう!うん、私はそれを見る;混乱しているが、それは私がドキュメントの言うことを正確に行うので、混乱させてしまう...私はそれがオプションだと思うが、依然としてクエリによる削除ですべてを試してみたい。 –
elasticsearch 1.5については分かりませんが、2.xのdelete_by_queryではdelete_by_queryプラグインのインストール時にのみ機能しました。しかし、約1.5のようなものを見つけることができませんでした。 delete_by_queryでのみ行う理由は何ですか? –
1milのファイルを作成するのはかなり重い/安価な操作であると信じています:) –