您可以使用Elasticsearch的Index Lifecycle Management(ILM)功能来自动删除超过一个月的文档数据。以下是一些步骤:

  1. 创建索引模板:
PUT _index_template/template_1
{
  "index_patterns": ["my_index*"],
  "order": 1,
  "settings": {
    "index.lifecycle.name": "my_policy",
    "index.lifecycle.rollover_alias": "my_index"
  }
}

此模板将自动应用于以“my_index”开头的所有索引,并将它们绑定到名为“my_policy”的生命周期策略。

  1. 创建生命周期策略:
PUT _ilm/policy/my_policy
{
  "policy": {
    "phases": {
      "hot": {
        "actions": {
          "rollover": {
            "max_age": "30d",
            "max_size": "50gb"
          }
        }
      },
      "delete": {
        "min_age": "1M",
        "actions": {
          "delete": {}
        }
      }
    }
  }
}

此策略将在索引满足以下条件之一时执行“rollover”操作:

  • 索引的年龄超过30天。
  • 索引的大小超过50 GB。

此策略将在索引满足以下条件之一时执行“delete”操作:

  • 索引年龄超过1个月。
  1. 将文档数据添加到索引中:
POST my_index/_doc
{
  "foo": "bar"
}
  1. 等待策略生效并自动执行:

在30天后,索引将自动滚动到新的索引别名,然后删除旧的索引别名,以及其中所有的文档数据

es创建索引只保留一个月的文档数据

原文地址: https://www.cveoy.top/t/topic/fGEK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录