--- title: "自动创建索引配置" date: 2026-03-14 lastmod: 2026-03-14 description: "控制 Easysearch 在向不存在的索引执行写入操作时是否自动创建该索引的配置项说明" tags: ["索引管理", "配置项", "写入操作"] summary: "配置项作用 # action.auto_create_index 配置项控制当用户向不存在的索引执行写入操作(如索引文档、更新文档等)时,Easysearch 是否自动创建该索引。 配置项类型 # 该配置项为动态配置,可以在运行时通过集群更新 API 进行修改,无需重启节点。 配置值格式 # 该配置项支持以下三种格式: 布尔值 true:自动创建所有索引(默认值) false:禁止自动创建任何索引 索引模式列表(逗号分隔) 以 + 开头或无前缀:允许自动创建匹配的索引 以 - 开头:禁止自动创建匹配的索引 混合模式 可以同时指定允许和禁止的模式,系统按顺序匹配 默认值 # true 是否必需 # 可选配置项 使用示例 # # 允许自动创建所有索引(默认) action.auto_create_index: true # 禁止自动创建任何索引 action.auto_create_index: false # 只允许自动创建以 logs- 开头的索引 action.auto_create_index: +logs-*,-* # 允许所有索引自动创建,但排除以 test- 开头的索引 action." --- ## 配置项作用 `action.auto_create_index` 配置项控制当用户向不存在的索引执行写入操作(如索引文档、更新文档等)时,Easysearch 是否自动创建该索引。 ## 配置项类型 该配置项为**动态配置**,可以在运行时通过集群更新 API 进行修改,无需重启节点。 ## 配置值格式 该配置项支持以下三种格式: 1. **布尔值** - `true`:自动创建所有索引(默认值) - `false`:禁止自动创建任何索引 2. **索引模式列表**(逗号分隔) - 以 `+` 开头或无前缀:允许自动创建匹配的索引 - 以 `-` 开头:禁止自动创建匹配的索引 3. **混合模式** - 可以同时指定允许和禁止的模式,系统按顺序匹配 ## 默认值 ``` true ``` ## 是否必需 **可选配置项** ## 使用示例 ```yaml # 允许自动创建所有索引(默认) action.auto_create_index: true # 禁止自动创建任何索引 action.auto_create_index: false # 只允许自动创建以 logs- 开头的索引 action.auto_create_index: +logs-*,-* # 允许所有索引自动创建,但排除以 test- 开头的索引 action.auto_create_index: +*,-test* # 多个复杂模式 action.auto_create_index: +logs-*,-test-*,+metrics-* ``` ## 规则说明 1. **匹配顺序**:配置的模式按从左到右的顺序进行匹配,第一个匹配的模式生效 2. **系统索引**:系统索引(如 `.easysearch_security`、`.kibana*` 等)始终会被自动创建,不受此配置限制 3. **动态映射**:如果 `index.mapper.dynamic` 设置为 `false`,则即使此配置为 `true`,也不会自动创建索引 4. **通配符匹配**:支持 `*` 通配符匹配任意字符 ## 推荐设置建议 **生产环境建议**:使用明确的白名单模式 ```yaml action.auto_create_index: +your-app-*,+logs-*,-* ``` **理由**: 1. 防止因拼写错误导致意外创建大量无用的索引 2. 便于索引治理和成本控制 3. 保持生产环境索引结构清晰可控 **开发/测试环境**:可以使用默认值 `true`,方便快速开发和测试。 ## 注意事项 1. 当设置为 `false` 或使用白名单模式时,写入不存在的索引会返回 `index_not_found_exception` 错误 2. 修改此配置后立即生效,影响所有新执行的写入操作 3. 建议在配合索引模板(Index Template)使用,确保自动创建的索引具有正确的映射和设置