📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 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());