高性能 Elasticsearch Java RestClient bboss v7.1.6 发布,ES小白分分钟上手,功能丰富,涵盖Elasticsearch所有功能,多集群多数据源,自动索引托管,多种分页机制,傻瓜级CRUD,脚本,sql,jdbc,高亮,权重,聚合,IP地理位置解析,父子嵌套等,应有尽有。
主要特点:代码简洁,性能高效,客户端负载容灾,兼容性好,易于集成
- A highlevel rest client.
- A high performence o/r mapping rest client.
- A dsl and sql rest client.
- Support Elasticsearch 1.x,2.x,5.x,6.x,7.x,8.x,+
- Support Opensearch 1.x,2.x,+
- Support Spring boot 1.x,2.x,3.x
- 可在普通 maven 项目和其他 java 工程中快速集成和使用 bboss
- 提供丰富的 crud、分页查询(from-size/scroll/slicescroll/searchafter)、批处理(同步 / 异步)API
- API 返回的结果可以是原始 json 报文、PO 对象、List 集合、Map 对象以及分页查询、聚合查询、高亮检索封装对象,亦可以方便获取索引文档 id、score、index、version、type 等文档元数据信息
v7.1.6 功能改进
-
Elasticsearch Client增加对spring boot3的支持,并提供相关案例工程:
https://gitee.com/bboss/springboot3-elasticsearch-webservice
https://gitee.com/bboss/eshelloword-spring-boot3-starter
https://gitee.com/bboss/db-db-job3
-
升级若干第三方依赖开源包版本
快速开始bboss
一般项目导入下面的maven坐标即可:
<dependency> <groupId>com.bbossgroups.plugins</groupId> <artifactId>bboss-datatran-jdbc</artifactId> <version>7.1.6</version> </dependency>
spring boot1.x,2.x项目还需要导入下面的maven坐标:
<dependency> <groupId>com.bbossgroups.plugins</groupId> <artifactId>bboss-elasticsearch-spring-boot-starter</artifactId> <version>7.1.6</version> </dependency>
spring boot 3.x 项目还需要导入下面的maven坐标:
<dependency> <groupId>com.bbossgroups.plugins</groupId> <artifactId>bboss-elasticsearch-spring-boot3-starter</artifactId> <version>7.1.6</version> </dependency>
获取客户端组件ClientInterface实例
通过ElasticSearchHelper获取 elasticsearch rest client api 实例:
//创建加载配置文件的客户端实例,单实例多线程安全 ClientInterface clientUtil = ElasticSearchHelper.getConfigRestClientUtil("esmapper/demo.xml"); //创建直接操作dsl的客户端实例,单实例多线程安全 ClientInterface clientUtil = ElasticSearchHelper.getRestClientUtil() ;
一行代码插入/修改
// 添加 / 修改文档,如果文档 id 存在则修改,不存在则插入
clientUtil.addDocument("agentinfo",//索引名称 data);//需添加/修改的索引数据对象,data可以是一般的PO对象,也可以是Map对象
一行代码批量插入/修改文档
// 添加 / 修改文档,如果文档 id 存在则修改,不存在则插入
List<AgentInfo> agentInfos = ....; clientUtil.addDocuments("agentinfo",//索引名称 datas);//需批量添加/修改的索引数据对象集合,datas可以是一般的PO对象集合,也可以是Map对象集合
一行代码分页 / 高亮检索
ESDatas<TAgentInfo> data //ESDatas为查询结果集对象,封装了返回的当前查询的List<TAgentInfo>结果集和符合条件的总记录数totalSize = clientUtil.searchList("trace-*/_search",//查询操作,查询indices trace-*中符合条件的数据 "queryServiceByCondition",//通过名称引用配置文件中的query dsl语句 traceExtraCriteria,//查询条件封装对象 TAgentInfo.class);//指定返回的po对象类型,po对象中的属性与indices表中的文档filed名称保持一致 //获取当前页结果对象列表 List<TAgentInfo> demos = data.getDatas(); //获取总记录数 long totalSize = data.getTotalSize();
根据文档 id 获取文档
Demo demo = clientUtil.getDocument("demo",//索引表 "2",//文档id Demo.class);//指定返回对象类型
参考文档:
https://esdoc.bbossgroups.com/#/quickstart
https://esdoc.bbossgroups.com/#/document-crud
https://esdoc.bbossgroups.com/#/common-project-with-bboss
https://esdoc.bbossgroups.com/#/spring-booter-with-bboss
还没有评论,来说两句吧...