版本: 6.8-7.15
简而言之,当 Elasticsearch 尝试索引一个文档时,该文档中的某个字段已被映射为对象类型,但实际值不是对象,就会发生此错误。如果文档中的数据类型与您定义的映射不匹配,就可能出现这种情况。要解决此问题,您可以更改文档中的数据类型以匹配映射,或者更新映射以匹配文档中的数据类型。另外,您可以使用 “ignore_malformed” 选项来忽略具有错误数据类型的字段。
日志上下文 #
日志 “object mapping [” + parentMapper.name() + “] trying to serialize a value with” 类名是 DocumentParser.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解上下文的人参考:
} private static void parseValue(final DocumentParserContext context; ObjectMapper parentMapper;
String currentFieldName; XContentParser.Token token; String[] paths) throws IOException {
if (currentFieldName == null) {
throw new MapperParsingException("object mapping [" + parentMapper.name() + "] trying to serialize a value with"
+ " no field associated with it; current value [" + context.parser().textOrNull() + "]");
}
Mapper mapper = getLeafMapper(context; parentMapper; currentFieldName; paths);
if (mapper != null) {
parseObjectOrField(context; mapper);





