ElasticSearch 文档的删除和批量操作

2年前 (2022) 程序员胖胖胖虎阿
339 0 0

松哥原创的 Spring Boot 视频教程已经杀青,感兴趣的小伙伴戳这里-->Spring Boot+Vue+微人事视频教程


ElasticSearch 系列第七篇,和大家聊一聊索引的基本操作,前六篇传送门:

  1. 打算出一个 ElasticSearch 教程,谁赞成,谁反对?
  2. ElasticSearch 从安装开始
  3. ElasticSearch 第三弹,核心概念介绍
  4. ElasticSearch 中的中文分词器该怎么玩?
  5. ElasticSearch 索引基本操作
  6. ElasticSearch 文档的添加、获取以及更新

以下是视频笔记:

注意,笔记只是视频内容的一个简要记录,因此笔记内容比较简单,完整的内容可以查看视频。

6.4 删除文档

6.4.1 根据 id 删除

从索引中删除一个文档。

删除一个 id 为 TuUpmHUByGJWB5WuMasV 的文档。

DELETE blog/_doc/TuUpmHUByGJWB5WuMasV

如果在添加文档时指定了路由,则删除文档时也需要指定路由,否则删除失败。

6.4.2 查询删除

查询删除是 POST 请求。

例如删除 title 中包含 666 的文档:

POST blog/_delete_by_query
{
  "query":{
    "term":{
      "title":"666"
    }
  }
}

也可以删除某一个索引下的所有文档:

POST blog/_delete_by_query
{
  "query":{
    "match_all":{
      
    }
  }
}

6.5 批量操作

es 中通过 Bulk API 可以执行批量索引、批量删除、批量更新等操作。

首先需要将所有的批量操作写入一个 JSON 文件中,然后通过 POST 请求将该 JSON 文件上传并执行。

例如新建一个名为 aaa.json 的文件,内容如下:

ElasticSearch 文档的删除和批量操作

首先第一行:index 表示要执行一个索引操作(这个表示一个 action,其他的 action 还有 create,delete,update)。_index 定义了索引名称,这里表示要创建一个名为 user 的索引,_id 表示新建文档的 id 为 666。

第二行是第一行操作的参数。

第三行的 update 则表示要更新。

第四行是第三行的参数。

注意,结尾要空出一行。

aaa.json 文件创建成功后,在该目录下,执行请求命令,如下:

curl -XPOST "http://localhost:9200/user/_bulk" -H "content-type:application/json" --data-binary @aaa.json

执行完成后,就会创建一个名为 user 的索引,同时向该索引中添加一条记录,再修改该记录,最终结果如下:

ElasticSearch 文档的删除和批量操作

今日干货

ElasticSearch 文档的删除和批量操作
刚刚发表
查看:
66666
回复:666

公众号后台回复 ssm,免费获取松哥纯手敲的 SSM 框架学习干货。

本文分享自微信公众号 - 江南一点雨(a_javaboy)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

版权声明:程序员胖胖胖虎阿 发表于 2022年10月12日 下午8:00。
转载请注明:ElasticSearch 文档的删除和批量操作 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...