版本: 6.8-7.15
简而言之,当 SimpleQueryStringBuilder 中指定的分析器在 Elasticsearch 配置中找不到时,会出现此错误。分析器用于在文本被索引或搜索之前处理文本。要解决此问题,你可以使用内置分析器或在 Elasticsearch 设置中定义自定义分析器。确保分析器名称拼写正确且存在于你的配置中。如果你使用的是自定义分析器,请确保它使用正确的类型和过滤器进行了正确定义。
日志上下文 #
日志 “[” + SimpleQueryStringBuilder.NAME + “] analyzer [” 类名是 SimpleQueryStringBuilder.java. 我们从 Elasticsearch 源代码中提取了以下内容,以供那些寻求深入上下文的人参考:
if (analyzer == null) {
sqp = new SimpleQueryStringQueryParser(resolvedFieldsAndWeights; flags; newSettings; context);
} else {
Analyzer luceneAnalyzer = context.getIndexAnalyzers().get(analyzer);
if (luceneAnalyzer == null) {
throw new QueryShardException(context; "[" + SimpleQueryStringBuilder.NAME + "] analyzer [" + analyzer
+ "] not found");
}
sqp = new SimpleQueryStringQueryParser(luceneAnalyzer; resolvedFieldsAndWeights; flags; newSettings; context);
}
sqp.setDefaultOperator(defaultOperator.toBooleanClauseOccur());





