elasticsearch简单API的使用(CRUD)

1.创建文档Index,自动生成_id

#创建文档,自动生成_id
POST users/_doc
{
  "user":"Mike",
  "post_date":"2019-04-15T14:12:12",
  "message":"trying out Kibana"
}

2.创建文档Create,指定_id

#创建文档,指定_id,如果id存在,报错,它这里其实是根据_version这个字段来判断的
PUT users/_doc/1?op_type=create
{
  "user":"Jack",
  "post_date":"2019-05-15T14:12:12",
  "message":"trying out Elasticsearch"
  }

#创建文档,指定_id,如果id存在,报错  
PUT users/_create/2
{
    "user":"Jack",
  "post_date":"2019-05-15T14:12:12",
  "message":"trying out Elasticsearch"
}

3.根据_id查询文档

GET users/_doc/1

4.更新文档index

这样会把原来的所有字段都删除掉,然后基于本次的请求内容来重建,但是_version都会自动+1

PUT users/_doc/1?op_type=index
{
  "user": "Tom"
}

PUT users/_doc/1
{
  "user": "Tom"
}

这样我们查看数据:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0jbMiK0b-1614439191157)(C:\Users\ThinkPad\Desktop\es\image-20210227184737643.png)]

字段减少了两个。

Index与Create的区别在于:Index的时候,如果文档不存在,就建立新的文档,如果文档存在,那么现有文档就会被删除,新的文档会被建立,同时_version版本号+1。

4.修改文档_update

#真正的修改,不会删除原来的字段,只是会对相应的字段做修改
POST users/_update/1/
{
  "doc":{
      "post_date":"2019-05-15T14:12:12",
      "message":"trying out Elasticsearch"
  }

}

修改完成后,我们查询下,看到,这时会新增两个字段,同时user字段也没有消失,当然,这时的_version也会自动加1。这就是index和update的区别。

操作说明
index针对整个文档,既可以新增,也可以更新
create只是新增操作,已有报错,可以用PUT指定ID,或POST不指定ID;
update指的是部分更新,官方只是说用POST,请求body里用script或 doc里包含文档要更新的部分;
delete和read就是delete和get请求了,比较简单

doc里包含文档要更新的部分; |
| delete和read | 就是delete和get请求了,比较简单 |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值