ElasticSearch更新API脚本-创建结构数组

时间:2019-10-21 13:06:49

标签: elasticsearch elasticsearch-painless

我正在使用Elasticsearch 6.5。我正在编写用于更新API的脚本。我需要将结构添加到结构数组中。如果该字段在文档中不存在(我可以检测到),那么我将使用第一个元素创建一个新数组:

ctx._source.myStructArr = new def[] {struct_1};

稍后我想添加其他结构:

ctx._source.myStructArr.add(struct_n);

但是我收到以下错误:

  

“ type”:“ illegal_argument_exception”,“ reason”:“动态方法   [java.lang.Object [],添加/ 1]找不到”

如何向该数组添加元素?还是我应该以其他方式创建/初始化数组?

1 个答案:

答案 0 :(得分:0)

尝试使用ArrayList代替new def[]

def arr = new ArrayList();
arr.add(struct_n)

希望有帮助。