您可以改用此脚本。它检查是否
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" } }


