版本: 6.8-7.15
简而言之,当您尝试在Elasticsearch中创建动态嵌套对象时会出现此错误,而这是不被允许的。这通常发生在您索引包含Elasticsearch未曾见过的字段的文档时,而这些字段包含嵌套对象。要解决此问题,您可以在索引映射中预定义这些嵌套字段,或者在索引设置中将"dynamic"参数设置为"true"或"strict"。如果您选择"strict",Elasticsearch将拒绝任何未知字段;而选择"true"将允许Elasticsearch自动添加新字段。
日志上下文 #
日志"It is forbidden to create dynamic nested objects ([“的类名是 DocumentParser.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人参考:
"but it's configured as [" + fieldMapper.typeName() + "] in dynamic template [" +
context.sourceToParse().dynamicTemplates().get(currentPath) + "]");
}
mapper = (ObjectMapper) fieldMapper;
if (mapper.isNested()) {
throw new MapperParsingException("It is forbidden to create dynamic nested objects (["
+ currentPath + "]) through `copy_to` or dots in field names");
}
context.addDynamicMapper(mapper);
}
}





