【问题标题】:configure TTL in elastic search with index template使用索引模板在弹性搜索中配置 TTL
【发布时间】:2016-12-03 07:16:07
【问题描述】:

我要求仅在通过 logstash 的弹性搜索中存储 10 天的数据。由于我没有太多数据,所以我正在采取通过索引模板设置TTL的方法。

谁能告诉我我到底要做什么。

我可以创建索引模板,在模板文件中我将以下代码保存在 default.json 文件中

{
   "_ttl" : {
    "enabled" : true,
    "default" : "10d"
 }  
}

但我不确定该文件保存在哪里以及如何调用该文件。 它会被自动调用还是我必须手动调用。

谁能告诉我一步一步的配置。

【问题讨论】:

    标签: elasticsearch logstash logstash-configuration


    【解决方案1】:

    _ttl 字段在 ES 5 中已被 deprecated in ES 2 完全删除。

    您应该改为在每个时间范围(日、周、月)使用一个对您的用例有意义的索引。

    在 Logstash 中,只需使用以下模式在您的 elasticsearch 输出中命名您的索引 "logstash-%{+YYYY.MM.dd}"

    设置完成后,您可以使用策展人工具delete indices older than 10 days,这非常简单。

    【讨论】:

    • 是的,我知道我们可以使用 curator.. 但是由于我没有太多数据并且我的应用程序用户不超过 2000,所以想使用 TTL 方法.. 如果可以的话会很有帮助为我提供在弹性搜索中设置 TTL 的详细信息。只是有点混淆放置位置和确切放置的内容
    • 你用的是哪个版本的ES?
    • 弹性搜索 2.3
    • 如果你真的想要你可以在你的模板文件中使用_ttl字段,但是,你需要知道当你升级到ES 5时这将不再起作用。请更新你的问题您的模板文件的外观。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 2012-05-07
    相关资源
    最近更新 更多