【问题标题】:ElasticSearch update API script - create array of structuresElasticSearch 更新 API 脚本 - 创建结构数组
【发布时间】:2019-10-21 13:06:49
【问题描述】:

我使用的是 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[], add/1] not found"

如何向该数组添加元素?或者也许我应该以不同的方式创建/初始化一个数组?

【问题讨论】:

    标签: elasticsearch elasticsearch-painless


    【解决方案1】:

    尝试使用ArrayList 而不是new def[]

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

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-20
      • 2016-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多