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

版本: 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);