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

版本: 8.8-8.9

简而言之,当执行 Elasticsearch 查询时未指定字段名,就会出现此错误。这意味着 Elasticsearch 不知道要在哪个字段中搜索提供的值。要解决此问题,您可以在查询中指定字段名,或者使用 “_all” 字段来搜索所有字段。此外,请确保您查询的字段确实存在于您的索引中。如果您使用的是复杂查询,请检查查询结构中的语法错误或缺失部分。

日志上下文 #

日志 “No fieldname specified for query” 的类名是 TextExpansionQueryBuilder.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:

    if (modelText == null) {
        throw new ParsingException(parser.getTokenLocation(); "No text specified for text query");
    }  if (fieldName == null) {
        throw new ParsingException(parser.getTokenLocation(); "No fieldname specified for query");
    }  TextExpansionQueryBuilder queryBuilder = new TextExpansionQueryBuilder(fieldName; modelText; modelId);
    queryBuilder.queryName(queryName);
    queryBuilder.boost(boost);