--- title: "字段未找到normalizer normalizerName - 如何解决此Elasticsearch异常" date: 2026-01-04 lastmod: 2026-01-04 description: "当Elasticsearch尝试对字段应用规范化器但映射中指定的规范化器不存在时,会引发此错误。本文介绍如何解决此问题。" tags: ["字段映射", "规范化器", "索引配置"] summary: "版本: 6.8-8.9 简而言之,当Elasticsearch尝试对字段应用规范化器(normalizer),但映射中指定的规范化器不存在时,就会发生此错误。规范化器用于在索引之前对关键字字段进行预处理。要解决此问题,您可以在索引设置中创建具有指定名称的规范化器,或者更改字段映射以使用现有的规范化器。此外,请确保规范化器已正确定义,并且其名称中没有拼写错误或语法错误。 日志上下文 日志"normalizer [" + normalizerName + “] not found for field [” + name + “]“的类名是 KeywordFieldMapper.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入了解的人参考: logger.warn( () -> format("Could not find normalizer [%s] of legacy index; falling back to default"; normalizerName) ); normalizer = Lucene.KEYWORD_ANALYZER; } else { throw new MapperParsingException("normalizer [" + normalizerName + "] not found for field [" + name + "]"); } } searchAnalyzer = quoteAnalyzer = normalizer; if (splitQueriesOnWhitespace." --- > **版本:** 6.8-8.9 简而言之,当Elasticsearch尝试对字段应用规范化器(normalizer),但映射中指定的规范化器不存在时,就会发生此错误。规范化器用于在索引之前对关键字字段进行预处理。要解决此问题,您可以在索引设置中创建具有指定名称的规范化器,或者更改字段映射以使用现有的规范化器。此外,请确保规范化器已正确定义,并且其名称中没有拼写错误或语法错误。 日志上下文 日志"normalizer [" + normalizerName + "] not found for field [" + name + "]"的类名是[KeywordFieldMapper.java](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/)。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入了解的人参考: ```java logger.warn( () -> format("Could not find normalizer [%s] of legacy index; falling back to default"; normalizerName) ); normalizer = Lucene.KEYWORD_ANALYZER; } else { throw new MapperParsingException("normalizer [" + normalizerName + "] not found for field [" + name + "]"); } } searchAnalyzer = quoteAnalyzer = normalizer; if (splitQueriesOnWhitespace.getValue()) { searchAnalyzer = indexAnalyzers.getWhitespaceNormalizer(normalizerName); ```