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

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