📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

配置项作用 #

action.auto_create_index 配置项控制当用户向不存在的索引执行写入操作(如索引文档、更新文档等)时,Easysearch 是否自动创建该索引。

配置项类型 #

该配置项为动态配置,可以在运行时通过集群更新 API 进行修改,无需重启节点。

配置值格式 #

该配置项支持以下三种格式:

  1. 布尔值

    • true:自动创建所有索引(默认值)
    • false:禁止自动创建任何索引
  2. 索引模式列表(逗号分隔)

    • + 开头或无前缀:允许自动创建匹配的索引
    • - 开头:禁止自动创建匹配的索引
  3. 混合模式

    • 可以同时指定允许和禁止的模式,系统按顺序匹配

默认值 #

true

是否必需 #

可选配置项

使用示例 #

# 允许自动创建所有索引(默认)
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. 通配符匹配:支持 * 通配符匹配任意字符

推荐设置建议 #

生产环境建议:使用明确的白名单模式

action.auto_create_index: +your-app-*,+logs-*,-*

理由

  1. 防止因拼写错误导致意外创建大量无用的索引
  2. 便于索引治理和成本控制
  3. 保持生产环境索引结构清晰可控

开发/测试环境:可以使用默认值 true,方便快速开发和测试。

注意事项 #

  1. 当设置为 false 或使用白名单模式时,写入不存在的索引会返回 index_not_found_exception 错误
  2. 修改此配置后立即生效,影响所有新执行的写入操作
  3. 建议在配合索引模板(Index Template)使用,确保自动创建的索引具有正确的映射和设置