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

回到顶部