配置项作用 #
index_state_management.enabled 配置项控制是否启用索引状态管理 (ISM) 功能。
是否可选 #
是
默认值 #
true (启用 ISM)
配置项类型 #
动态配置 - 可以在运行时修改
配置格式 #
# 启用 ISM(默认)
index_state_management.enabled: true
# 禁用 ISM
index_state_management.enabled: false
功能说明 #
索引状态管理 (ISM) 允许自动化管理索引的生命周期:
- 自动执行索引操作(rollover、delete、shrink 等)
- 基于时间、大小或文档数触发操作
- 集中管理索引策略
工作原理 #
┌─────────────────────────────────────────────────────────┐
│ ISM 工作流程 │
└─────────────────────────────────────────────────────────┘
策略定义
│
├── 状态
│ ├── 过渡条件
│ └── 执行操作
│
▼
协调器扫描
│
├── 检查索引状态
├── 评估过渡条件
└── 执行定义操作
推荐设置 #
| 环境 | 推荐值 | 说明 |
|---|---|---|
| 生产环境 | true | 启用自动化管理 |
| 开发环境 | true | 便于测试 |
| 测试环境 | false | 禁用自动化操作 |
使用示例 #
启用 ISM:
index_state_management.enabled: true
禁用 ISM:
index_state_management.enabled: false
ISM 策略示例 #
PUT _policies/test_policy
{
"policy": {
"description": "测试策略",
"default_state": "hot",
"states": [
{
"name": "hot",
"actions": [
{"rollover": {"max_size": "50GB", "max_age": "30d"}}
],
"transitions": [
{"state_name": "warm", "conditions": {"min_index_age": "30d"}}
]
},
{
"name": "warm",
"actions": [
{"replica_count": 2}
],
"transitions": [
{"state_name": "delete", "conditions": {"min_index_age": "90d"}}
]
},
{
"name": "delete",
"actions": [
{"delete": {}}
]
}
]
}
}
配置验证 #
# 查看当前配置
GET /_cluster/settings?filter_path=*.index_state_management.enabled
# 查看 ISM 策略
GET _policies/*
# 查看索引的 ISM 状态
GET _index_state_management/explain/*
常见问题 #
问题 1:ISM 未执行策略
解决方案:
# 确保已启用
index_state_management.enabled: true
# 检查策略是否正确绑定
GET _index_state_management/explain/*
问题 2:禁用后策略仍执行
解决方案:
# 需要手动解除策略绑定
POST _index_state_management/remove_policy/my-index
注意事项 #
- 动态配置:可以在运行时修改
- 策略绑定:禁用不会自动解除现有策略
- 协调器:启用后协调器开始运行
- 资源消耗:会定期扫描索引状态
相关配置项 #
| 配置项 | 默认值 | 说明 |
|---|---|---|
index_state_management.jitter | 0.6 | 随机抖动因子 |
index_state_management.coordinator.sweep_skip_period | 5m | 扫描跳过周期 |
index_state_management.history.enabled | true | 是否记录历史 |
完整配置示例 #
# easysearch.yml
# 启用 ISM
index_state_management.enabled: true
index_state_management.jitter: 0.6
index_state_management.coordinator.sweep_skip_period: 5m





