_ttl在每个索引启用,但每个文档过期的作品.
如果您希望索引"过期",请删除它们.更简单,更高效.
是的,_ttl有性能影响.处理"过期"数据的Elasticsearch"方式"是创建基于时间的索引.意思是,您可以为每天或每周创建索引.索引该索引中属于该日/周的所有内容.您可以决定要保留多少天并坚持使用该数字.
假设您希望将数据保留7天.在第8天,像往常一样创建新索引,然后从8天前删除索引.你的集群中有7个索引的所有时间.该ttl机制每隔indices.ttl.interval(默认为60秒)检查过期文档,它会从中创建批量请求并删除它们.这意味着不必要的请求进入群集.
相反,删除索引非常简单快捷.
_ttl类似的方法现已弃用(因为一遍又一遍地重复会影响性能),并且 Elastic 引入了索引生命周期管理 (ILM)
因此,您现在想要做的是每天动态创建索引,例如使用特定于日期的名称模式my-app-log-yyyy-mm-dd和 ILM 策略,该策略将处理超出所需时间范围的索引的删除
除此之外,Elastic 还为您提供了用于管理此类策略(即POST或GET)的 API ,因此您可以在应用程序中实现自动化,以避免手动工作并保持一切良好和一致。
索引本身通常很容易由记录器管理,Logback例如,当您通过以下方式在配置中定义其名称时,允许您创建动态索引:
<index>my-app-logs-%date{yyyy-MM-dd}</index
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9625 次 |
| 最近记录: |