删除所有索引中的所有类型

时间:2014-11-13 12:29:02

标签: elasticsearch logstash

我正在使用logstash来存储日志。我想删除所有类型为'error'的logstash条目。我查看了Delete by Query API,但我似乎无法弄清楚如何在这种情况下做我想做的事情。有什么指针吗?

2 个答案:

答案 0 :(得分:1)

如果您的Logstash索引名为logstash-%{+YYYY.MM.dd},请尝试:

DELETE /logstash*/errorDELETE /logstash*/_query?q=_type:error

为了安全起见,请在尝试之前备份您的数据。在我的测试中,这两个查询在所有error索引下仅删除了logstash类型。

答案 1 :(得分:1)

如果你不想手动执行,有一个用python编写的命令行实用程序,它可以删除,关闭,优化和禁用bloom过滤器,以获得更好的性能和资源利用率。

这将使您能够编写一个cronjob,它将定期执行,无需人工干预。

有关策展人的详细信息,请访问:https://github.com/elasticsearch/curator

例如,要删除超过90天的索引,请使用以下命令

$curator delete --older-than 90