ElasticSearch7.8.1—文档的CRUD

1. 文档的CRUD操作

1.1 Create

  • 支持自动生成文档ID和指定文档ID两种方式
  • 通过调用“post /users/_doc”,系统自动生成document ID
    在这里插入图片描述
//create document,自动生成_ID
POST users/_doc
{
  "user": "Mike",
  "post_date": "2021-04-8",
  "message": "trying out kibana"
}
  • 使用“PUT user/_create/1”创建时,URI中显示指定_create,此时如果该id文档已经存在,则操作失败
    在这里插入图片描述
    在这里插入图片描述
//create document,指定ID,如果ID存在,报错
PUT users/_doc/1?op_type-create
{
  "user": "Jack",
  "post_date": "2021-04-8",
  "message": "trying out ElasticSearch"
}

1.2 Get

在这里插入图片描述

“GET movies”

  • 找到文档,返回200
文档元信息
	- _index/_type/
	- 版本信息,同一个ID文档,即使被删除,version也会不断增加
	- _source中默认包含了文档的所有原始信息

  • 找不到文档,返回400
  • index和Create不一样的地方
    - 如果文档不存在,就索引新的文档,否则现有文档会被删除,新的文档被索引,version+1
    在这里插入图片描述

1.3 Update

  • Update不会删除原来文档,而是实现真正的数据更新
    在这里插入图片描述
    在这里插入图片描述

2. 批量操作

2.1 Bulk API

  • 支持在一次API调用中,对不同对索引进行操作
  • 支持四种类型操作
    - Index
    - Create
    - Update
    - Delete
  • 可以在URI中指定Index,也可以在请求对PayLoad中进行
  • 操作中单挑操作失败,不会影响其他操作
  • 返回结果包括了每一条操作执行对结果
    在这里插入图片描述
// Bulk操作第一次执行
POST _bulk
{"index":{"_index":"test","_id": "1"}}
{"field1":"value3"}
{"delete":{"_index":"test","_id":2}}
{"create":{"_index":"test2","_id":"3"}}
{"field1":"value3"}
{"update":{"_id":"1","_index":"test"}}
{"doc":{"field2":"value2"}}

在这里插入图片描述

2.2 mget(批量读取)

  • 批量操作,可以减少网络连接所产生的开销,提高性能
    在这里插入图片描述
GET _mget
{
  "docs":[
    {
      "_index" : "user",
      "_id" : 1
    },
    {
      "_index" : "comment",
      "_id" : 1
    }
    ]
}

2.3 msearch(批量查询)

在这里插入图片描述

POST kibana_sample_data_ecommerce/_msearch
{}
{"query" : {"match_all" : {}}, "size":1}
{"index" : "kibana_sample_data_flights"}
{"query" : {"match_all": {}}, "size" : 2}

3. 常见错误返回

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Solider

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值