在Elasticsearch中创建索引并设置过期时间,可以使用Index Lifecycle Management(ILM)功能。以下是创建索引名为device_screened_alarm并保留一个月的文档数据的示例代码:

  1. 首先,创建一个索引模板,命名为device_screened_alarm_template,用于自动创建索引并设置索引过期时间:
PUT _index_template/device_screened_alarm_template
{
  "index_patterns": ["device_screened_alarm*"],
  "template": {
    "settings": {
      "index": {
        "lifecycle": {
          "name": "device_screened_alarm_policy",
          "rollover_alias": "device_screened_alarm"
        }
      }
    }
  },
  "priority": 100
}
  1. 接下来,创建一个索引生命周期策略,命名为device_screened_alarm_policy,用于设置索引过期时间为1个月:
PUT _ilm/policy/device_screened_alarm_policy
{
  "policy": {
    "phases": {
      "hot": {
        "actions": {
          "rollover": {
            "max_size": "50GB",
            "max_age": "7d"
          }
        }
      },
      "delete": {
        "min_age": "30d",
        "actions": {
          "delete": {}
        }
      }
    }
  }
}

在这个示例中,我们设置了索引过期时间为7天,超过7天后索引将自动转移到delete阶段,并在30天后自动删除。

  1. 最后,使用rollover API创建一个初始索引,命名为device_screened_alarm-000001:
PUT device_screened_alarm-000001
{
  "aliases": {
    "device_screened_alarm": {
      "is_write_index": true
    }
  }
}

这个命令会创建一个初始索引,并将其设置为写入索引。当索引大小或文档数达到阈值时,Elasticsearch会自动创建一个新的索引,并将写入流量切换到新索引。

现在,你已经创建了一个名为device_screened_alarm的索引,并设置了过期时间为1个月。Elasticsearch会自动删除过期的文档数据,以便保持索引的大小和性能

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

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

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