--- title: "索引不存在且MapperService INDEX MAPPER DYNAMIC SETTING getKey为false——如何解决此Elasticsearch异常" date: 2026-02-01 lastmod: 2026-02-01 description: "当Elasticsearch尝试访问不存在的索引且动态索引创建设置被关闭时,会抛出此异常。可通过手动创建索引或启用动态索引创建来解决问题。" tags: ["索引不存在", "动态映射", "索引创建", "MapperService", "配置错误"] summary: "版本: 6.8-6.8 简而言之,当Elasticsearch尝试访问不存在的索引,并且动态索引创建设置被关闭时,就会出现此错误。要解决此问题,您可以在尝试访问索引之前手动创建索引,或者通过将"index.mapper.dynamic"设置为true来启用动态索引创建。此外,您还可以检查应用程序代码,以确保它没有尝试访问不存在的索引。 日志上下文 日志"no such index and [" + MapperService.INDEX_MAPPER_DYNAMIC_SETTING.getKey() + “] is [false]“的类名是 AutoCreateIndex.java。 我们从Elasticsearch源代码中提取了以下内容,供寻求深入了解上下文的人参考: final AutoCreate autoCreate = this.autoCreate; if (autoCreate.autoCreateIndex == false) { throw new IndexNotFoundException("no such index and [" + AUTO_CREATE_INDEX_SETTING.getKey() + "] is [false]", index); } if (dynamicMappingDisabled) { throw new IndexNotFoundException("no such index and [" + MapperService.INDEX_MAPPER_DYNAMIC_SETTING.getKey() + "] is [false]", index); } // matches not set; default value of "true" if (autoCreate." --- > **版本:** 6.8-6.8 简而言之,当Elasticsearch尝试访问不存在的索引,并且动态索引创建设置被关闭时,就会出现此错误。要解决此问题,您可以在尝试访问索引之前手动创建索引,或者通过将"index.mapper.dynamic"设置为true来启用动态索引创建。此外,您还可以检查应用程序代码,以确保它没有尝试访问不存在的索引。 日志上下文 日志"no such index and [" + MapperService.INDEX\_MAPPER\_DYNAMIC\_SETTING.getKey() + "] is [false]"的类名是[AutoCreateIndex.java。](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从Elasticsearch源代码中提取了以下内容,供寻求深入了解上下文的人参考: ```java final AutoCreate autoCreate = this.autoCreate; if (autoCreate.autoCreateIndex == false) { throw new IndexNotFoundException("no such index and [" + AUTO_CREATE_INDEX_SETTING.getKey() + "] is [false]", index); } if (dynamicMappingDisabled) { throw new IndexNotFoundException("no such index and [" + MapperService.INDEX_MAPPER_DYNAMIC_SETTING.getKey() + "] is [false]", index); } // matches not set; default value of "true" if (autoCreate.expressions.isEmpty()) { return true; ```