问题是由文档的结构方式引起的。
attribute.data既是一个字符串/字符串数组,又是一个完整的内部对象。ES不允许更改属性的“类型”。
基本上,您不能拥有以下功能: ``
"data": [ "0d7e6233e5f48b4f55c5376bf00b1be5", "0d7e6233e5f48b4f55c5376bf00d94cf"],
还有这个:
"data":[ { "text":"Button 1", "checked":false }, { "text":"Button 2", "checked":true }],在同一文档中。的第一个实例
data告诉ES“数据是一个字符串数组”。但是第二个实例
data说“嘿,我是一个对象!”,这就是ES抛出错误的原因。
您可以通过显式声明
data为对象并设置 enabled为false 来避开此问题 :
但这可能不是您想要的解决方案(因为这只是告诉ES将其存储
data为文本字段,而无需解析。
另一个选择是重组数据或将
data其拆分为文档(例如,父/子映射)



