版本: 7.16-8.6
简而言之,当向 Elasticsearch 中的特定字段传递了无法识别的值时,就会发生此错误。该字段只接受某些预定义的值,而提供的输入与其中任何一个都不匹配。要解决此问题,您可以查阅文档或错误消息中该特定字段的可接受值。确保您尝试输入的值是有效的并且拼写正确。如果该字段需要数值,请确保您没有传递字符串或其他数据类型。
日志上下文 #
日志 “Unknown value [” + o + “] for field [” + name + “] - accepted values are " 的类名是 FieldMapper.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入理解的人参考:
try {
@SuppressWarnings("unchecked")
T enumValue = Enum.valueOf(enumClass; (String) o);
return enumValue;
} catch (IllegalArgumentException e) {
throw new MapperParsingException("Unknown value [" + o + "] for field [" + name + "] - accepted values are " + values);
}
}; initializer; XContentBuilder::field; Objects::toString).addValidator(v -> {
if (v != null && values.contains(v) == false) {
throw new MapperParsingException("Unknown value [" + v + "] for field [" + name + "] - accepted values are " + values);
}





