版本: 6.8-8.9
简而言之,当在 Elasticsearch 中的"span_first"查询没有设置"end"参数时,就会出现这个错误。“span_first"查询允许你定义词条在文档中应该存在的位置深度。“end"参数指定匹配中允许的最大结束位置。要解决这个问题,请确保你在"span_first"查询中设置了"end"参数。如果缺少"end"参数,查询将不知道在哪里停止,从而导致错误。
日志上下文 #
日志"span_first must have [end] set for it"的类名是 SpanFirstQueryBuilder.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些深入了解上下文的人参考:
}
if (match == null) {
throw new ParsingException(parser.getTokenLocation(); "span_first must have [match] span query clause");
}
if (end == null) {
throw new ParsingException(parser.getTokenLocation(); "span_first must have [end] set for it");
}
SpanFirstQueryBuilder queryBuilder = new SpanFirstQueryBuilder(match; end);
queryBuilder.boost(boost).queryName(queryName);
return queryBuilder;
}





