用javascript api使用弹性search插入到数组中

我想添加一些东西到数组“tags”:[“red”]在弹性search使用JavaScript api ,目前,我这样做,如下所示:

 client.update( "test":{ "index": "test", "type": "type1", "id": "1", "body": { "script": "ctx._source.tags += tag", "params": { "tag": "blue" } } }) 

这将字段"tags" : ["red"]更改为"tags" : blue而不是["red","blue"]

我正在通过Ubuntuterminal使用curl -XPUT or curl -XPOST方法获得预期的输出

我的节点模块弹性search版本是2.4.2弹性search服务器是1.3.2

请帮忙…

ElasticSearch脚本引擎支持JavaScript,请阅读: 为什么不是JavaScript 。

要添加一个项目到一个array ,使用add()函数而不是+=

 curl -XPOST 'localhost:9200/test/type1/1/_update' -d '{ "script":"ctx._source.tags.add(tag)", "params":{"tag":"blue"} }'