您现在的位置是:首页 > 文章详情

高性能 Elasticsearch Java RestClient bboss v7.1.6 发布

日期:2024-02-22点击:221

高性能 Elasticsearch Java RestClient bboss v7.1.6 发布,ES小白分分钟上手,功能丰富,涵盖Elasticsearch所有功能,多集群多数据源,自动索引托管,多种分页机制,傻瓜级CRUD,脚本,sql,jdbc,高亮,权重,聚合,IP地理位置解析,父子嵌套等,应有尽有。

主要特点:代码简洁,性能高效,客户端负载容灾,兼容性好,易于集成

  1. A highlevel rest client.
  2. A high performence o/r mapping rest client.
  3. A dsl and sql rest client.
  4. Support Elasticsearch 1.x,2.x,5.x,6.x,7.x,8.x,+
  5. Support Opensearch 1.x,2.x,+
  6. Support Spring boot 1.x,2.x,3.x
  7. 可在普通 maven 项目和其他 java 工程中快速集成和使用 bboss
  8. 提供丰富的 crud、分页查询(from-size/scroll/slicescroll/searchafter)、批处理(同步 / 异步)API
  9. API 返回的结果可以是原始 json 报文、PO 对象、List 集合、Map 对象以及分页查询、聚合查询、高亮检索封装对象,亦可以方便获取索引文档 id、score、index、version、type 等文档元数据信息

v7.1.6 功能改进

  1. 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

  2. 升级若干第三方依赖开源包版本

快速开始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

原文链接:https://www.oschina.net/news/279703
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章