esspringbootstarterrestclient
此wiki 介绍的是自己基于springboot ,elasticsearch rest client,自定义注解,泛型,响应报文解析封装的一套elasticserach 客户端框架
项目路径 https://gitee.com/lbjyu/es-springboot-starter-restclient.git
es-springboot-starter-restclient 基于elasticsearch rest的第三方start
annotation ........................................... 自定义注解包
autoconfigure ...................................... 自动加载包
constants ...................................... 常量包
query .................................... 查询条件封装基类包
util ........................................ 工具包,自定义注解解析器
vo ........................................ 推送和查询以及分页VO类
EsApiService ................................... 对外暴露的Service
EsModel ................................... 查询推送模型类,泛型用于业务和es服务交互解耦
1.annotation 注解包各注解功能介绍
序号
注解名称
属性
作用范围
功能
1
@EsIndexKey
indexName
typeName
isMonthIndex
类
标注该类对应的es索引
indexName:索引名称
typeName:索引类型
isMonthIndex:是否月份分表
2
@EsMatchKey
matchKey
字段
@EsMatchKey
matchKey:对应文档数据结构里面的字段
等值查询
3
@EsMonthKey
字段
只有在@EsIndexKey索引中isMonthIndex=true,才会生效,且强校验必填项
在数据推送时,通过解析该字段的值,推送到对应的月份索引中
4
@EsPKey
字段
标识该字段是文档的主键
5
@EsRangeKey
字段
rangeKey:文档中对应的范围查询字段
matchType:gt,lt,ge,le,大于,小于,大于等于,小于等于
6
@EsShouldKey
shouldKey
字段
对应的文档中匹配字段,类似sql中的or,一般作用于List<String> 字段类型上
7
@EsSortKey
sortKey
orderType
字段
sortKey:对应文档里面的排序字段
orderType:排序方式默认desc
8
@EsSortList
字段
作用在查询基类VO上的,用于自定义排序字段,自定义排序方式
9
@EsTermsKey
字段
对应的文档中匹配字段,类似sql中的in,一般作用于List<String> 字段类型上
2.autoconfigure 自动装配包
序号
类名
功能
1
EnableEsRestClient
自动装配注解
2
EsApiServiceImpl
EsApiService 的接口实现
3
EsConfigBeanAutoconfigure
自动装配实现类
4
EsConfigProperties
主动装配属性注入类
5
EsRestClient
EsRestClient 客户端类,与ES服务交互类
3.constants 静态常量包
4.query 查询条件封装基类包
序号 类名 功能
1
EsMatchQuery
基于 @EsMatchKey 得到的等值查询key-value Map<String,String>集合
2
EsRangeQuery
基于 @EsRangeKey 得到的范围查询key-value Map<String,String>集合
3
EsShouldListQuery
基于 @EsShouldKey 得到的或者查询 Map<String, List<String>>集合
4
EsShouldQuery
用于在底层解析 EsShouldListQuery 拼装查询中should 语句使用
5
EsSort
用于在底层解析 EsSortList 拼装查询中sort语句使用
6
EsTermsQuery
基于 @EsTermsKey 得到的in查询List<Map<String,String>>集合
5.util 工具包
序号
类名
功能
1
AnnotationUtil
annotation 注解包各注解的解析类
2
EsException
自定义异常类
6.vo vo集合包
序号
类名
功能
1
EsPutBaseVo
数据推送ES 类的基类
2
EsQueryBaseVO
从ES查询数据,定义的查询基类
3
PageBean
自定义的分页查询VO
7.EsApiService 对外暴露的ES API 接口
序号
方法名
入参
方法描述
1
getPutEsModel(T dataModel)
T dataModel
根据基类获取 推送ES模型类
2
getSerachEsModel(EsQueryBaseVO esQueryBaseVO, int page, int pageSize)
EsQueryBaseVO,page,pageSize
根据基类获取 查询ES模型类
3
getPageBean(EsModel<T> esModel, Class<T> requiredType)
esModel,requiredType
分页查询
4
putToEs(EsModel<T> esModel)
esModel
单个提交保存到ES
5
queryList(EsModel<T> esModel, Class<T> requiredType)
esModel,requiredType
查询List 集合
6
queryCount(EsModel<T> esModel)
esModel
统计数据条数
7
batchPutToEs(EsModel<T> esModel)
esModel
批量提交保存到ES
8.EsModel 查询推送模型类,泛型用于业务和es服务交互解耦
9.代码接入步骤
9.1 将文章开头的项目下载到本地,打包到本地仓库,然后再项目中添加,下面的包坐标
<dependency>
<groupId>com.yuyunbo</groupId>
<artifactId>es-springboot-starter-restclient</artifactId>
<version>1.0.0</version>
</dependency>
9.2 配置集群和端口 192.168.137.1 是我本地内网IP
启动自动装配
9.3 编写测试基类
MotionRecordEsPutVo 推送基类--详细见附件
MotionRecordEsQueryVo 查询基类 ---详细见附件
9.4 编写测试 Controller 类
9.5 测试结果
以上是 esspringbootstarterrestclient 的全部内容, 来源链接: utcz.com/z/516965.html