在elasticsearch中删除超过30天的文档

我想删除我的elasticsearch索引中超过30天的文档。

有任何想法吗?

编辑:

我希望这会自动发生 – 我的索引中的任何文档都不会超过30天。 所以,我认为有两个select:使用curator或DELETE请求。

我已经尝试过,但我失败了。 不知何故,我必须创build一个filter,过滤30天以上的所有文档,并删除它们,当我使用DELETE http语句。

我曾与策展人一起尝试,但策展人(据我了解)只删除了整个指标。 当试图删除超过30天的指数与馆长,我的时间戳导致errors.My moment.js模式看起来像这样"MMMM Do YYYY, HH:mm:ss.SSS"

编辑2:我将以下添加到我的logstashconfiguration:

 elasticsearch { hosts => ["http://localhost:9200"] index => "logstash-%{type}-%{+YYYY.MM.dd}" document_type => "%{[@metadata][type]}" } 

所以logstash会为每个types和每一天创build一个特定的索引。 现在我可以使用curator删除比特定date更早的索引。

问题解决了imho。

如果您有周期性指标(每日,每周等),请使用策展人 。

您可以使用DELETE查询: https ://www.elastic.co/guide/en/elasticsearch/reference/1.6/docs-delete-by-query.html例如,查询将删除比以前更早的一切:2016-02 -29

 DELETE index_name/_query { "query": { "filtered": { "query": { "query_string": { "query": "*" } }, "filter": { "range": { "@timestamp": { "lte": "2016-02-29" } } } } } }