文章目录
本文将作为es系列第二篇,在前文项目搭建的基础上,先来看一下es的基本操作姿势,如何实现CURD
I. 项目搭建
1. 项目依赖
本项目借助SpringBoot 2.2.1.RELEASE
+ maven 3.5.3
+ IDEA
进行开发
开一个web服务用于测试
1 | <dependencies> |
2. 配置信息
配置文件application.yml,注意下面的配置信息,下面采用的是由我们自己来解析配置的方式
1 | elasticsearch: |
II. CURD实例
1. 配置
注意,本文介绍的es是添加了权限验证,因此我们在于es进行交互时,需要在请求头中携带验证信息,注意下面的实现姿势
读取配置,初始化RestHighLevelClient,和前文介绍的差不多
1 |
|
2. 添加数据
1 |
|
添加数据,注意是利用 IndexRequest
来构建请求对象,添加文档时有几个注意事项
request.source()
: 具体需要上传的文档,就是通过它挂上去的,我们这里采用的是json方式request.id()
: 如果上传的文档需要指定id,则可以使用它;若未指定,则表明自动生成id
发起请求: client.index()
3. 查询数据
这里先介绍一个基础的根据id进行查询的实例case,更多的查询姿势后面会详细介绍
1 | /** |
3. 增量更新数据
根据主键进行更新文档,如下
1 | /** |
注意
- 上面的实现属于增量更新策略
- 即:新传的文档,若key之前已经存在,则覆盖更新;若之前不存在,则插入;之前文档中未被覆盖的数据依然保留
4. 全量更新
另外一个根据条件进行更新的使用case如下
1 | /** |
5. 删除数据
直接根据id进行删除
1 | /** |
6. 条件删除数据
根据条件进行匹配删除
1 | /** |
7. 测试case
写一个测试demo,将上面的case都跑一遍
1 | public void testOperate() throws IOException { |
输出如下
1 | # 1. 添加数据 |
III. 不能错过的源码和相关知识点
0. 项目
系列博文
源码
- 工程:https://github.com/liuyueyi/spring-boot-demo
- 源码:https://github.com/liuyueyi/spring-boot-demo/tree/master/spring-boot/142-search-es
1. 微信公众号: 一灰灰Blog
尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激
下面一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛
- 一灰灰Blog个人博客 https://blog.hhui.top
- 一灰灰Blog-Spring专题博客 http://spring.hhui.top
Be the first person to leave a comment!