版本: 8.2-8.9
简而言之,当 Elasticsearch 查询中的 [fetch_fields] 参数缺少必需的 [field] 参数时,会发生此错误。该参数对于指定响应中应返回哪些字段是必需的。要解决此问题,您可以在查询中提供缺少的 [field] 参数,或者如果您想获取所有字段,可以使用通配符 ‘*'。另外,如果您不需要任何特定字段,可以从查询中删除 [fetch_fields] 参数。
日志上下文 #
日志 “[field] parameter of [fetch_fields] must be provided” 的类名是 LookupRuntimeFieldType.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人使用:
return values.stream().map(v -> {
if (v instanceof Map m) {
final String field = (String) m.get(FieldAndFormat.FIELD_FIELD.getPreferredName());
final String format = (String) m.get(FieldAndFormat.FORMAT_FIELD.getPreferredName());
if (field == null) {
throw new MapperParsingException("[field] parameter of [fetch_fields] must be provided");
}
return new FieldAndFormat(field; format);
} else if (v instanceof String s) {
return new FieldAndFormat(s; null);
} else {





