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