--- title: "AUTO CREATE INDEX SETTING getKey – 如何解决此 Elasticsearch 异常" date: 2026-03-16 lastmod: 2026-03-16 description: "当Elasticsearch尝试自动创建不存在的索引但自动创建索引设置被禁用时,会出现此错误。本文介绍了如何通过启用自动创建索引设置或手动创建索引来解决这个问题。" tags: ["索引管理", "自动创建索引", "配置设置", "索引未找到异常"] summary: " 版本: 7-7.15 错误概述 # 简而言之,当 Elasticsearch 尝试自动创建一个不存在的索引,但自动创建索引设置被禁用时,就会出现此错误。为了防止意外创建不需要的索引,通常会禁用此设置。 解决方案 # 要解决这个问题,你可以采用以下方法: 启用自动创建索引设置:将其设置为 true 手动创建索引:在尝试向索引中索引文档之前先手动创建索引 指定允许自动创建的索引模式:可以为特定的索引模式启用自动创建,同时保持其他索引的禁用状态 日志上下文 # 日志 “[” + AUTO_CREATE_INDEX_SETTING.getKey() + “]” 的类名是 AutoCreateIndex.java。我们从 Elasticsearch 源代码中提取了以下内容,以便为那些寻求深入了解的人提供上下文: } throw new IndexNotFoundException("[" + AUTO_CREATE_INDEX_SETTING.getKey() + "] contains [-" + indexExpression + "] which forbids automatic creation of the index"; index); } } throw new IndexNotFoundException("[" + AUTO_CREATE_INDEX_SETTING.getKey() + "] ([" + autoCreate + "]) doesn't match"; index); } AutoCreate getAutoCreate() { return autoCreate; " --- > **版本:** 7-7.15 ## 错误概述 简而言之,当 Elasticsearch 尝试自动创建一个不存在的索引,但自动创建索引设置被禁用时,就会出现此错误。为了防止意外创建不需要的索引,通常会禁用此设置。 ## 解决方案 要解决这个问题,你可以采用以下方法: 1. **启用自动创建索引设置**:将其设置为 true 2. **手动创建索引**:在尝试向索引中索引文档之前先手动创建索引 3. **指定允许自动创建的索引模式**:可以为特定的索引模式启用自动创建,同时保持其他索引的禁用状态 ## 日志上下文 日志 "[" + AUTO\_CREATE\_INDEX\_SETTING.getKey() + "]" 的类名是 [AutoCreateIndex.java](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/)。我们从 Elasticsearch 源代码中提取了以下内容,以便为那些寻求深入了解的人提供上下文: ```java } throw new IndexNotFoundException("[" + AUTO_CREATE_INDEX_SETTING.getKey() + "] contains [-" + indexExpression + "] which forbids automatic creation of the index"; index); } } throw new IndexNotFoundException("[" + AUTO_CREATE_INDEX_SETTING.getKey() + "] ([" + autoCreate + "]) doesn't match"; index); } AutoCreate getAutoCreate() { return autoCreate; ```