RestClient速记
学习RestClient之前需要先熟练使用DSL:ES备忘清单
ES为各种客户端提供了RestAPI来操作DSL,目前基于Spring Boot工程使用的是Java High Level Rest Client客户端。
1.入门
- 初始化RestClient,引入RestHighLevelClient依赖
1 | <dependency> |
注意:依赖的版本最好与客户端的版本号一致,SpringBoot工程可以使用自定义版本覆盖默认的依赖。
- 初始化RestHighLevelClient
初始化的代码如下:
1 | RestHighLevelClient client = new RestHighLevelClient(RestClient.builder( |
2.索引库操作
索引库操作的基本步骤:
- 初始化
RestHighLevelClient - 创建Request对象 (
new XxxIndexRequest)- CreateIndexRequest (创建索引库)
- DeleteIndexRequest (删除索引库)
- GetIndexRequest (判断索引库是否存在)
- 准备请求参数(
request.source) - 发送请求,
client.indices()方法的返回值是IndicesClient类型,封装了所有与索引库操作有关的方法。
相关代码示例:
1 |
|
3.文档操作
文档操作的基本步骤:
- 初始化
RestHighLevelClient - 创建
XxxRequest。XXX是Index、Get、Update、Delete、Bulk - 准备参数(Index、Update、Bulk时需要)
- 发送请求。调用RestHighLevelClient#.xxx()方法,xxx是index、get、update、delete、bulk
- 解析结果(Get时需要)
相关代码示例:
1 |
|
4.查询文档
文档的查询同样适用 RestHighLevelClient对象,基本步骤包括:
- 准备Request对象
- 准备请求参数
- 发起请求
- 解析响应
发起查询请求
第一步,创建
SearchRequest对象,指定索引库名第二步,利用
request.source()构建DSL,DSL中可以包含查询、分页、排序、高亮等query():代表查询条件,利用QueryBuilders.matchAllQuery()构建一个match_all查询的DSL
第三步,利用client.search()发送请求,得到响应
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 沐语`Blog!
评论




