[英]Failure to index in Elasticsearch an array
我有一个Elasticsearch索引,其中具有“元数据”元素的以下映射:
metadata: {
dynamic: true
properties: {
id: {
type: string
}
data: {
dynamic: true
properties: {
...
}
}
}
}
我通过执行以下NEST调用来创建索引条目:
var response = elasticClient.Index(item, x =>
x.Index("testIndex").Type("clip").Id(itemId));
其中“ item”是XElement的实例。
只要“ item”只有一个节点“ metadata”,一切正常,但是如果有多个“ metadata”节点,我将得到以下错误:
“ [clip_full]的对象映射与[metadata]的数组试图解析为数组,但得到了EOF,同一字段的类型是否不匹配?”
这很奇怪,因为AFAIK数组不需要任何映射预防措施:任何映射的元素都可以在多个实例中发送。 而且,如果我对“ item” XElement进行预处理,并删除除一个“ metadata”节点以外的所有节点,则索引将起作用。
我有同样的问题,它似乎与如何创建数据有关。 我正在搜索有关它的更多信息,但似乎对象预解析会转换对象本身中的单个对象数组,从而破坏了对象架构。
编辑:通常,问题来自使用该工具的人。 我的json代是错误的,在2个文档之间的数组中插入了不同的类型。 即创建了一些字符串,而不是数组中的对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.