版本: 7.15-8.9
简而言之,当Elasticsearch中某个操作未设置字段时,就会出现此错误。这可能是由于文档中缺少字段或映射配置错误造成的。要解决此问题,可以检查文档以确保存在所需字段。如果不存在,请添加它。如果字段存在,请检查映射配置以确保其设置正确。此外,确保该字段未设置为’null',因为Elasticsearch将’null’视为数据不存在。
日志上下文 #
日志"must have [field] set for it"的类名是 FieldMaskingSpanQueryBuilder.java。我们从Elasticsearch源代码中提取了以下内容,供寻求深入背景的人参考:
}
if (inner == null) {
throw new ParsingException(parser.getTokenLocation(), NAME.getPreferredName() + " must have [query] span query clause");
}
if (field == null) {
throw new ParsingException(parser.getTokenLocation(), NAME.getPreferredName() + " must have [field] set for it");
}
FieldMaskingSpanQueryBuilder queryBuilder = new FieldMaskingSpanQueryBuilder(inner, field);
queryBuilder.boost(boost);
queryBuilder.queryName(queryName);
return queryBuilder;





