ES的文档(数据)基础操作 —— 增删改查API版

Elasticsearch文档基础操作

ES的文档和MySQL的数据差不多是一个感念,MySQL的一条数据就相当于ES的一条文档。

新增文档

基本语法:

  • 请求方式:POST
  • 请求路径:/索引库名/_doc/文档id(如果不加文档id,es会随机生成一个id)
  • 请求参数:mapping映射

格式:

POST /索引库名/_doc/文档id
{
    "字段1": "值1",
    "字段2": "值2",
    "字段3": {
        "子属性1": "值3",
        "子属性2": "值4"
    }
}

示例:

POST /blog/_doc/5
{
  "id": 5,
  "author_id": 41,
  "title": "Flex布局基础知识",
  "description": "Flex布局基础知识",
  "school_code": null,
  "cover_image": "https://baidu.com",
  "create_time": "2022-06-07 15:29:26",
}

结果:

删除文档

删除使用DELETE请求,同样,需要根据id进行删除:

基本语法:

DELETE /{索引库名}/_doc/id值

示例:

# 根据id删除数据
DELETE /blog/_doc/5

结果:

在这里插入图片描述

修改文档

修改有两种方式:

  • 全量修改:直接覆盖原来的文档
  • 增量修改:修改文档中的部分字段

全量修改

全量修改是覆盖原来的文档,其本质是:

  • 根据指定的id删除文档
  • 新增一个相同id的文档

注意:如果根据id删除时,id不存在,第二步的新增也会执行,也就从修改变成了新增操作了。

基本语法:

PUT /{索引库名}/_doc/文档id
{
    "字段1": "值1",
    "字段2": "值2",
    // ... 略
}

示例:

PUT /blog/_doc/5
{
  "id": 5,
  "author_id": 41,
  "title": "Flex布局基础知识",
  "description": "Flex布局基础知识",
  "school_code": null,
  "cover_image": "baidu.com",
  "create_time": "2022-06-07 15:29:26",
  "release_time": "2022-06-07 15:29:26",
  "modified_time": null,
  "status": 1
}

结果:

在这里插入图片描述

增量修改

增量修改是只修改指定id匹配的文档中的部分字段。

基本语法:

POST /{索引库名}/_update/文档id
{
    "doc": {
         "字段名": "新的值",
    }
}

示例:

POST /blog/_update/5
{
  "doc": {
    "cover_image": "taobao.com"
  }
}

结果

在这里插入图片描述

查询文档

基本语法:

GET /{索引库名称}/_doc/{id}

示例:

GET /blog/_doc/5

查看结果:

在这里插入图片描述

总结

  • 创建文档:POST /{索引库名}/_doc/文档id { json文档 }
  • 查询文档:GET /{索引库名}/_doc/文档id
  • 删除文档:DELETE /{索引库名}/_doc/文档id
  • 修改文档:
    • 全量修改:PUT /{索引库名}/_doc/文档id { json文档 }
    • 增量修改:POST /{索引库名}/_update/文档id { “doc”: {字段}}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

阿杆.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值