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

版本: 6.8-8.9

简要来说,当 Elasticsearch 无法在 query_string 中找到指定的 quote_analyzer 时会出现此错误。quote_analyzer 用于分析引号内的查询文本。该错误表明查询中命名的分析器不存在。要解决此问题,请确保分析器在索引设置中正确已定义。如果尚未定义,则需要创建它。或者,如果适合您的用例,可以使用标准分析器。此外,请检查分析器名称中是否存在拼写或大小写敏感性问题。

日志上下文 #

日志 “[query_string] quote_analyzer [” + quoteAnalyzer + “] not found” 的类名是 QueryStringQueryBuilder.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些需要深入了解上下文的人参考:

    }  if (quoteAnalyzer != null) {
        NamedAnalyzer forceQuoteAnalyzer = context.getIndexAnalyzers().get(quoteAnalyzer);
        if (forceQuoteAnalyzer == null) {
            throw new QueryShardException(context; "[query_string] quote_analyzer [" + quoteAnalyzer + "] not found");
        }
        queryParser.setForceQuoteAnalyzer(forceQuoteAnalyzer);
    }  queryParser.setDefaultOperator(defaultOperator.toQueryParserOperator());