Elasticsearch CRUD

elasticsearch 对文档CRUD
Bulk API
mget
msearch

Create

Create 文档时,如果ID已经存在,会失败
create document. 自动生成 _id

POST users/_doc
{
  "user" : "Mike",
  "post_date" : "2020-12-5",
  "message" : "trying out Kibana"
}

在这里插入图片描述

#create document, 指定Id,如果id已经存在,会报错
PUT users/_doc/2?op_type=create
{
  "user" : "Jack",
  "post_date" : "2020-12-5",
  "message" : "Elasticsearch"
}

如果id不存在结果如下
在这里插入图片描述
如果id 存在则结果为
在这里插入图片描述

Read

Get the document by ID

GET users/_doc/2

在这里插入图片描述

Index

Index 可以理解为Create,但是Index的ID不存在时,创建新的文档。否则,先删除旧的文档,在创建新的文档,版本号会增加

PUT users/_doc/2
{
  "user" : "Mike"
}

(Index后 _version 变为了3,Index了两次)
在这里插入图片描述

Update

update 在原文档上添加字段,文档必须已经存在,更新只会对相应的字段做增量修改

POST users/_update/2/
{
  "doc": {
    "post_date": "2020-12-5 15:13",
    "message": "trying play CSGO"
  }
}

在这里插入图片描述

GET users/_doc/2

在这里插入图片描述

Delete

DELETE users/2 

Bulk API

Bulk API 支持在一次调用中,对不同的索引进行操作

支持四种类型的操作

  • Index
  • Create
  • Update
  • Delete

可以在URI中指定 Index ,也可以在请求的 Payload 中进行

操作中单条操作失败时,并不会影响其他操作

返回结果包括了每一条操作执行的结果
在这里插入图片描述

批量读取 - mget

msearch

批量操作,可以减少网络连接所产生的开销,提高性能

GET _mget
{
  "docs": [
    {
      "_index": "users",
      "_id": 1
    },
    {
      "_index": "users",
      "_id": 2
    }
    ]
}

在这里插入图片描述

ES API 常见错误返回

问题原因
无法连接网络故障或集群挂了
连接无法关闭网络故障或节点出错
429集群过于繁忙
4xx请求体格式有错
500集群内部错误
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值