您可以改用此脚本。它检查是否movies
为数组,如果不是,则创建一个
{
"script" : "if (ctx._source.movies.getClass().isArray()) { ctx._source.movies += tag } else { ctx._source.movies = [ctx._source.movies, tag] }",
"params" : {
"tag" : "Pulp Fiction"
}
}
另一种较短的方法是始终分配一个数组,然后使用Groovy的Collection.flatten()
方法对其进行“展平”
{
"script" : "ctx._source.movies = [ctx._source.movies, tag].flatten()",
"params" : {
"tag" : "Pulp Fiction"
}
}