用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"} }'
- 在node.js环境中将mongodb与elasticsearch集成在一起
- 使用cassandra和elasticsearch后端制作我的titan db图
- ElasticSearch重新启动花费很长时间
- elasticdump:dump以错误结束(get phase)=>错误:连接ECONNREFUSED MY_IP:PORT
- 使用ElasticSearch javascript客户端创build索引,promise不会返回
- dynamic生成kibana iframe(短url)
- 如何使用nodejs elasticsearch客户端指定路由?
- 弹性search关键字不匹配
- Elasticsearch使用lowercase_expanded_terms的正则expression式filter语法