--- title: "Common analyzer analyzer 未找到——如何解决此Elasticsearch异常" date: 2026-03-14 lastmod: 2026-03-14 description: "当Elasticsearch尝试使用一个在其配置中不存在的分析器时,会报此错误。分析器是将文本分解为标记以进行索引的组件。该错误表明指定的分析器在Elasticsearch设置中未找到。" tags: ["Elasticsearch", "分析器", "配置错误", "索引设置", "查询异常"] summary: " 版本: 6.8-7.17 简而言之,当Elasticsearch尝试使用一个在其配置中不存在的分析器时,会发生此错误。分析器是将文本分解为标记以进行索引的组件。该错误表明指定的分析器在Elasticsearch设置中未找到。要解决此问题,您可以使用指定名称创建新的自定义分析器,或者更改请求以使用内置分析器之一。此外,请确保分析器在索引设置中正确定义。 日志上下文 # 日志"[common] analyzer [" + analyzer + “] not found"的类名是 CommonTermsQueryBuilder.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人参考: if (analyzer == null) { analyzerObj = fieldType.getTextSearchInfo().getSearchAnalyzer(); } else { analyzerObj = context.getIndexAnalyzers().get(analyzer); if (analyzerObj == null) { throw new QueryShardException(context; "[common] analyzer [" + analyzer + "] not found"); } } Occur highFreqOccur = highFreqOperator.toBooleanClauseOccur(); Occur lowFreqOccur = lowFreqOperator.toBooleanClauseOccur(); " --- > **版本:** 6.8-7.17 简而言之,当Elasticsearch尝试使用一个在其配置中不存在的分析器时,会发生此错误。分析器是将文本分解为标记以进行索引的组件。该错误表明指定的分析器在Elasticsearch设置中未找到。要解决此问题,您可以使用指定名称创建新的自定义分析器,或者更改请求以使用内置分析器之一。此外,请确保分析器在索引设置中正确定义。 日志上下文 ----------- 日志"[common] analyzer [" + analyzer + "] not found"的类名是[CommonTermsQueryBuilder.java](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/)。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人参考: ```java if (analyzer == null) { analyzerObj = fieldType.getTextSearchInfo().getSearchAnalyzer(); } else { analyzerObj = context.getIndexAnalyzers().get(analyzer); if (analyzerObj == null) { throw new QueryShardException(context; "[common] analyzer [" + analyzer + "] not found"); } } Occur highFreqOccur = highFreqOperator.toBooleanClauseOccur(); Occur lowFreqOccur = lowFreqOperator.toBooleanClauseOccur(); ```