elasticsearch 是否可以限制Elasticsearch索引的大小?,elasticsearch,elasticsearch" /> elasticsearch 是否可以限制Elasticsearch索引的大小?,elasticsearch,elasticsearch" />

elasticsearch 是否可以限制Elasticsearch索引的大小?

elasticsearch 是否可以限制Elasticsearch索引的大小?,elasticsearch,elasticsearch,我有一个用于索引日志记录的Elasticsearch实例。当然,数据会随着时间的推移而增长,我想限制它的大小(大约10GB)。有点像mongoDb封顶的系列 无论如何,我对旧的日志记录不感兴趣 我还没有找到任何配置,我不确定我可以删除数据文件 有什么建议吗?我记得MongoDB中的capped集合只是一种循环缓冲区类型的集合,在没有空间时删除最旧的条目?不幸的是,ElasticSearch中没有类似的现成功能,您必须自己添加此功能,或者使用ES的API删除单个文档(或批量文档)。他们的文档中描述

我有一个用于索引日志记录的Elasticsearch实例。当然,数据会随着时间的推移而增长,我想限制它的大小(大约10GB)。有点像mongoDb封顶的系列

无论如何,我对旧的日志记录不感兴趣

我还没有找到任何配置,我不确定我可以删除数据文件


有什么建议吗?

我记得MongoDB中的capped集合只是一种循环缓冲区类型的集合,在没有空间时删除最旧的条目?不幸的是,ElasticSearch中没有类似的现成功能,您必须自己添加此功能,或者使用ES的API删除单个文档(或批量文档)。他们的文档中描述了一种更有效的方法,您可以提供每个索引/类型的默认值(生存时间),如下所示:

{
    "tweet" : {
        "_ttl" : { "enabled" : true, "default" : "1d" }
    }
}
您将在此处了解更多详细信息:

问候,, Alain处理“旧”数据的Elasticsearch“方法”是创建基于时间的索引。也就是说,每天或每周都要创建一个索引。在该索引中为属于该天/周的所有内容编制索引

你可以决定你要保留多少天,并坚持这个数字。假设7天的数据计算为10GB。在第8天创建新索引,与往常一样,然后删除8天前的索引

在集群7索引中的所有时间。 不建议使用另一张海报所建议的
ttl
,因为更难,并且会对集群造成额外压力。
ttl
机制每隔
index.ttl.interval
(默认情况下为60秒)检查一次过期文档,并从中创建批量请求并删除它们。这意味着不必要的请求会进入集群

相反,删除索引非常简单和快速


现在,我刚刚添加了一个每天运行一次的acrontab任务,并删除了一个基于时间的索引:curl-XDELETE