1. ホーム
  2. elasticsearch

[解決済み] タイプを削除せずにインデックス/タイプからすべてのドキュメントを削除する

2022-04-14 10:42:19

質問

deleteByQueryで特定のタイプのドキュメントをすべて削除できることは知っています。

curl -XDELETE 'http://localhost:9200/twitter/tweet/_query' -d '{
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}'

しかし、私は用語がなく、単純にそのタイプの文書をすべて削除したいのです、どんな用語であっても。これを達成するための最良の方法は何でしょうか?空の用語ではうまくいきません。

deleteByQueryへのリンク

解決方法は?

delete by クエリと match all を組み合わせると、以下のようになります(あなたの例)。

curl -XDELETE 'http://localhost:9200/twitter/tweet/_query' -d '{
    "query" : { 
        "match_all" : {}
    }
}'

あるいは、タイプを削除することもできます。

curl -XDELETE http://localhost:9200/twitter/tweet

XDELETE は、ElasticSearchの新しいバージョンでは非推奨です。