首页 > 代码库 > Elasticsearch Updating documents
Elasticsearch Updating documents
在ES裡, 更新documents到index不是一件簡單的事情, 我們得在這裡留個心眼.
眾所皆知RESTful風格使用HTTP的動詞來進行所謂的Update, ES也是如此.
要注意到ES的更新有兩種方式
- 整個docment更新(取代,覆蓋)
- 根據某個field更新(count += 3, append字符串, 替數組增加元素, 刪除field)
//根據某個field更新
$ curl -XPOST ‘localhost:9200/test/type1/1/_update‘ -d ‘{ "script" : "ctx._source.counter += count", "params" : { "count" : 4 }}‘
通常我們會遇到要更新的某個field不存在, 那我們可以使用 upsert 來給定默認的值
$ curl -XPOST ‘localhost:9200/test/type1/1/_update‘ -d ‘{ "script" : "ctx._source.counter += 1", "upsert" : { "counter" : 0 }}‘
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。