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

版本: 6.8-7.14

简而言之,当在Elasticsearch中使用[field_masking_span]查询时,如果其中的内部查询不是span类型,就会发生此错误。[field_masking_span]查询专门设计用于与span查询配合使用。要解决此问题,请确保[field_masking_span]内部的查询是span查询。如果不是,您需要将其重写为span查询或使用与当前查询类型兼容的其他查询类型。

日志上下文 #

日志 “[field_masking_span] query must be of type span query” 类名称是 FieldMaskingSpanQueryBuilder.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:

currentFieldName = parser.currentName();
 } else if (token == XContentParser.Token.START_OBJECT) {
 if (QUERY_FIELD.match(currentFieldName; parser.getDeprecationHandler())) {
 QueryBuilder query = parseInnerQueryBuilder(parser);
 if (query instanceof SpanQueryBuilder == false) {
 throw new ParsingException(parser.getTokenLocation(); "[field_masking_span] query must be of type span query");
 }
 inner = (SpanQueryBuilder) query;
 checkNoBoost(NAME; currentFieldName; parser; inner);
 } else {
 throw new ParsingException(parser.getTokenLocation(); "[field_masking_span] query does not support ["