文档章节

elasticsearch5.3 3

柯里昂
 柯里昂
发布于 2017/04/06 15:27
字数 511
阅读 67
收藏 1
点赞 0
评论 0
  • 记录修改
curl -XPUT "localhost:9200/customer/external/1?pretty&pretty" -H "Content-Type: application/json" -d "{  \"name\": \"John Doe\" }"

ID还是1,换个名字

curl -XPUT "localhost:9200/customer/external/1?pretty&pretty" -H "Content-Type: application/json" -d "{  \"name\": \"Jone Doe\" }"

换个ID,名字一样

curl -XPUT "localhost:9200/customer/external/2?pretty&pretty" -H "Content-Type: application/json" -d "{  \"name\": \"John Doe\" }"

不指定ID,ES会随机生成一个。 值得注意的是,这里使用POST,而不是PUT。

curl -XPOST "localhost:9200/customer/external?pretty" -H "Content-Type: application/json" -d "{  \"name\": \"John Doe\" }"
  • 更新记录

ES不支持原地更新,所谓的更新只是删除之后再重新index。

curl -XPOST "localhost:9200/customer/external/1?pretty" -H "Content-Type: application/json" -d "{  \"name\": \"Corleone\" }"

修改名字的同时,再加个age属性。

curl -XPOST "localhost:9200/customer/external/1?pretty" -H "Content-Type: application/json" -d "{  \"name\": \"nancy\", \"age\":18 }"

age属性如果存在的情况下,也可以使用script方式更新,如 age = age + 5

curl -XPOST "localhost:9200/customer/external/2/_update?pretty&pretty" -H "Content-Type: application/json" -d "{ \"script\" : \"ctx._source.age += 5\" } "

目前上述方式只支持对一个记录更新。ES后续可能会提供类似SQL 的 update where 更新操作。

Note that as of this writing, updates can only be performed on a single document at a time. In the future, Elasticsearch might provide the ability to update multiple documents given a query condition (like an SQL UPDATE-WHERE statement).

  • 删除记录

按照id删除记录

curl -XDELETE "localhost:9200/customer/external/2?pretty&pretty"
  • 批处理

index id=1 设置name = "John Doe" 并且 index id=2 设置name = "Jane Doe"

curl -XPOST 'localhost:9200/customer/external/_bulk?pretty&pretty' -H 'Content-Type: application/json' -d'
{"index":{"_id":"1"}}
{"name": "John Doe" }
{"index":{"_id":"2"}}
{"name": "Jane Doe" }
'

id=1,更新 name = "John Doe becomes Jane Doe" 并且 删除 id=2的记录

curl -XPOST 'localhost:9200/customer/external/_bulk?pretty&pretty' -H 'Content-Type: application/json' -d'
{"update":{"_id":"1"}}
{"doc": { "name": "John Doe becomes Jane Doe" } }
{"delete":{"_id":"2"}}
'

值得注意的是,删除操作只需要ID,并且删除后无需追加信息。

bulk api 不是事务的,任何一个操作不管什么原因失败了,剩下的操作依然会继续执行。并且在最后返回状态。此状态会展示失败的数量和具体信息。

官网 官网 官网 官网

© 著作权归作者所有

共有 人打赏支持
柯里昂
粉丝 22
博文 160
码字总数 78816
作品 0
徐汇
技术主管

暂无相关文章

Jenkins实践3 之脚本

#!/bin/sh# export PROJ_PATH=项目路径# export TOMCAT_PATH=tomcat路径killTomcat(){pid=`ps -ef | grep tomcat | grep java|awk '{print $2}'`echo "tom...

晨猫 ⋅ 今天 ⋅ 0

Spring Bean的生命周期

前言 Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。 首先看下生命周期图: 再谈生命周期之前有一点需要先明确: Spring 只帮我们管理单例模...

素雷 ⋅ 今天 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部