版本: 6.8-8.9
简而言之,当 Elasticsearch 尝试使用不存在的分析器时会出现此错误。分析器用于将文本分解为标记以进行索引。该错误表明在 Elasticsearch 配置中未找到指定的分析器。要解决此问题,您可以创建一个具有指定名称的新自定义分析器,或者更改请求以使用内置分析器之一。此外,请确保分析器在索引设置中正确定义,并且分析器名称中没有拼写错误。
日志上下文 #
日志"[" + NAME + “] analyzer [” + analyzer + “] not found"的类名是 MatchBoolPrefixQueryBuilder.java。 我们从 Elasticsearch 源代码中提取了以下内容,为那些寻求深入上下文的人提供参考:
} @Override
protected Query doToQuery(SearchExecutionContext context) throws IOException {
if (analyzer != null && context.getIndexAnalyzers().get(analyzer) == null) {
throw new QueryShardException(context, "[" + NAME + "] analyzer [" + analyzer + "] not found");
}
final MatchQueryParser queryParser = new MatchQueryParser(context);
if (analyzer != null) {
queryParser.setAnalyzer(analyzer);





