<分区>
我想删除 elasticsearch 索引中超过 30 天的文档。
有什么想法吗?
编辑:
我希望它自动发生 - 我的索引中的任何文档都不应超过 30 天。 因此,在我看来有 2 个选择:使用 curator 或 DELETE 请求。
我都试过了,但是我失败了。 当我使用 DELETE http 语句时,我必须以某种方式创建一个过滤器来过滤所有超过 30 天的文档并删除它们。
我试过馆长,但馆长(据我所知)只删除了整个索引。当试图删除超过 30 天的索引时,我的时间戳导致错误。我的 moment.js
模式看起来像这样“MMMM Do YYYY, HH:mm:ss.SSS”
.
编辑 2: 我将以下内容添加到我的 logstash 配置中:
elasticsearch
{
hosts => ["http://localhost:9200"]
index => "logstash-%{type}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
所以 logstash 每天为每种类型创建一个特定的索引。 现在我可以使用 curator 删除早于特定日期的索引。
恕我直言,问题已解决。