我想删除我的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" } } } } } }