bboss-elasticsearch 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
bboss-elasticsearch 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
bboss-elasticsearch 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache License 2.0
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发搜索引擎
开源组织
地区 国产
投 递 者 bboss
适用人群 未知
收录时间 2017-10-26

软件简介

The best elasticsearch highlevel java rest api-----bboss

bboss是一套基于query dsl语法操作和访问分布式搜索引擎Elasticsearch/Opensearch的o/r mapping高性能开发库,底层直接基于 http 协议操作和访问Elasticsearch、Opensearch。基于bboss,可以快速编写出访问和操作Elasticsearch/Opensearch的程序代码,简单、高效、可靠、安全。

 

快速开始bboss

https://esdoc.bbossgroups.com/#/quickstart

bboss兼容性

兼容性:bboss兼容所有版本Elasticsearch、Spring boot,基于bboss开发的代码,可以无缝对接不同版本的Elasticsearch、Opensearch、Spring boot

bboss Elasticsearch spring boot
all 1.x 1.x,2.x
all 2.x 1.x,2.x
all 3.x 1.x,2.x
all 5.x 1.x,2.x
all 6.x 1.x,2.x
all 7.x 1.x,2.x

Opensearch兼容性:1.x,2.x,+

jdk兼容性:jdk 1.7+

典型应用场景

一行代码插入/修改

//添加/修改文档,如果文档id存在则修改,不存在则插入

clientUtil.addDocument("agentinfo",//索引名称
				agentInfo);//需添加/修改的索引数据对象

一行代码分页/高亮检索

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);//指定返回对象类型

 根据字段直接获取文档

String document = clientInterface.getDocumentByField("demo",//索引名称
                  "applicationName.keyword",//字段名称
                  "blackcatdemo2");//字段值
 Map document = clientInterface.getDocumentByField("demo","applicationName.keyword","blackcatdemo2",Map.class);
 DemoPo document = clientInterface.getDocumentByField("demo","applicationName.keyword","blackcatdemo2",DemoPo.class);

一行代码根据字段值进行分页查找

ESDatas<Map> documents = clientInterface.searchListByField("demo",//索引名名称
                                          "applicationName.keyword", //检索字段名称
                                          "blackcatdemo2",//检索值
                                           Map.class,  //返回结果类型,可以是po对象类型也可以是map类型
                                           0,  //分页起始位置
                                           10); //分页每页记录数
//获取当前页结果对象列表
        List<Map> demos = data.getDatas();
        //获取匹配的总记录数
        long totalSize = data.getTotalSize();

一行代码删除文档

clientUtil.deleteDocument("demo",//索引表
          "2");//文档id

一行代码批量删除文档

//批量删除文档
        clientUtil.deleteDocuments("demo",//索引表
                new String[]{"2","3"});//批量删除文档ids

api方法可以指定特定的Elasticsearch 集群进行操作

所有 api 可以直接指定 数据源操作,指哪打哪,下面展示了在一段代码里面同时操作两个Elasticsearch集群功能:datasourceName1和datasourceName2

ESDatas<Demo> esDatas1 = 
            clientUtil.searchListWithCluster(datasourceName1,//指定操作的Elasticsearch集群数据源名称
                  "demo1/_search",//demo为索引表,_search为检索操作action
            "searchDatas",//esmapper/demo7.xml中定义的dsl语句
            params,//变量参数
            Demo.class);//返回的文档封装对象类型

ESDatas<Demo> esDatas2 = 
            clientUtil.searchListWithCluster(datasourceName2,//指定操作的Elasticsearch集群数据源名称
                  "demo2/_search",//demo为索引表,_search为检索操作action
            "searchDatas",//esmapper/demo7.xml中定义的dsl语句
            params,//变量参数
            Demo.class);//返回的文档封装对象类型

datasourceName1和datasourceName2 可是两个相同版本的Elasticsearch,亦可以是两个不同版本的Elasticsearch,bboss在兼容性方面是毋庸置疑的。

快速集成,导入BBoss maven坐标:quickstart文档

其他特点

  1. ORM和DSL二者兼顾,类mybatis方式操作ElasticSearch,提供丰富的开发API开发Demo

  2. 采用XML文件配置和管理检索dsl脚本,简洁而直观;提供丰富的逻辑判断语法,在dsl脚本中可以使用变量、脚本片段、foreach循环、逻辑判断、注释;基于可扩展DSL配置管理机制可以非常方便地实现数据库、redis等方式管理dsl;配置管理的dsl语句支持在线修改、自动热加载,开发和调试非常方便

  3. 提供Elasticsearch集群节点自动负载均衡和容灾恢复机制,Elasticsearch节点断连恢复后可自动重连,高效可靠

  4. 提供Elasticsearch集群节点自动发现机制:自动发现Elasticsearch服务端节点增加和下线操作并变更客户端集群可用节点地址清单

  5. 提供http 连接池管理功能,提供精细化的http连接池参数配置管理

  6. 支持在应用中访问和操作多个Elasticsearch集群,支持在应用中访问和操作不同版本的Elasticsearch集群

  7. 支持基于X-Pack和searchguard两种安全认证机制

  8. 支持Elasticsearch-SQL-ORMElasticsearch-JDBC

  9. 提供高效的BulkProcessor处理机制

  10. 提供快速而高效的数据同步导入ES工具:支持DB到ElasticsearchElasticsearch到DB,MongoDB到Elastisearch数据同步HBase到Elasticsearch数据同步Kafka到Elasticsearch数据同步,将支持更多的数据源

  11. 提供按时间日期ES历史数据清理工具

源码地址:

https://github.com/bbossgroups/bboss-elasticsearch

https://gitee.com/bboss/bboss-elastic

从源码构建

https://esdoc.bbossgroups.com/#/bboss-build

Elasticsearch Demo

https://esdoc.bbossgroups.com/#/Elasticsearch-demo

快速集成和应用

 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(16) 发布并加入讨论🔥
发表了资讯
02/22 09:18

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

高性能 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 clie...

1
2
发表了资讯
2023/03/21 09:53

高性能Elasticsearch Java RestClient bboss v6.8.7 发布

高性能Elasticsearch Java RestClient bboss v6.8.7 发布 主要特点:代码简洁,性能高效,客户端负载容灾,兼容性好,易于集成 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、分页...

0
8
发表了资讯
2023/01/30 10:32

bboss-elasticsearch v6.8.0 发布

Elasticsearch Java Rest Client bboss v6.8.0 发布,支持最新Elasticsearch 8.x以及Elasticsearch所有老版本,支持 Opensearch 2.x。 v6.8.0 功能改进 去除Elasticsearch和http数据源jvm退出机制,避免因jvm退出时,数据源获取空指针问题 将Elasticsearch和http数据源状态监控和服务发现线程调整为daemon线程 bboss 是一套基于 query dsl 语法操作和访问分布式搜索引擎 Elasticsearch/Opensearch 的 o/r mapping 高性能开发库,...

0
2
发表了资讯
2022/09/26 09:42

bboss v6.7.5 发布,支持 Elasticsearch 8 和 Opensearch

Elasticsearch Rest Client bboss v6.7.5 发布,支持Elasticsearch 8.x和Opensearch 2.x。 v6.7.5 功能改进 修复 opensearch 兼容性 bug 处理文件输入插件,taskContext 设置参数不起作用,以及获取不到fileinfo信息问题 处理mvc框架json报文长度为0处理机制 优化数据同步context.getStringValue对数据库clob和blob字段的处理机制 bboss 是一套基于 query dsl 语法操作和访问分布式搜索引擎 Elasticsearch/Opensearch 的 o/r ma...

1
3
发表了资讯
2022/09/05 09:25

bboss-elasticsearch v6.7.3 发布

Elasticsearch Rest Client bboss v6.7.3 发布,版本变更记录: 处理flushsync方法在Elasticsearch8的兼容性问题 ,增加获取elasticsearch版本号方法 jdk 17兼容性改进 Elasticsearch客户端改进:增加ESMatchedQueries注解,用于绑定返回name指定的命名匹配条件数组String[],参考文档:元数据注解 bboss elasticsearch 是一套基于 query dsl 语法操作和访问分布式搜索引擎 elasticsearch 的 o/r mapping 高性能java开发库,底层...

0
4
发表了资讯
2022/02/18 09:31

bboss v6.5.1 发布

the best Elasticsearch Highlevel Rest Client API-----bboss v6.5.1 发布。 bboss elasticsearch是一套基于query dsl语法操作和访问分布式搜索引擎elasticsearch的o/r mapping高性能开发库,底层基于es restful api。基于bboss elasticsearch,可以快速编写出访问和操作elasticsearch的程序代码,简单、高效、可靠、安全。 快速开始bboss https://esdoc.bbossgroups.com/#/quickstart bboss兼容性 与Elasticsearch、Spring bo...

0
4
发表了资讯
2021/10/18 13:00

Elasticsearch Rest Client bboss v6.3.6 发布

The best Elasticsearch Highlevel Rest Client API-----bboss v6.3.6 发布。 bboss elasticsearch 是一套基 于query dsl 语法操作和访问分布式搜索引擎 elasticsearch 的 o/r mapping 高性能java开发库,底层基于 es restful api。 主要功能特色 ORM和DSL二者兼顾,类mybatis方式操作ElasticSearch,提供丰富的开发API和开发Demo 采用XML文件配置和管理检索dsl脚本,简洁而直观;只需编写好dsl,放入xml配置文件,通过bboss api...

1
5
发表了资讯
2021/08/02 07:37

Elasticsearch Rest Client bboss v6.3.1 发布

The best Elasticsearch Highlevel Rest Client API-----bboss v6.3.1 发布。 bboss elasticsearch 是一套基 于query dsl 语法操作和访问分布式搜索引擎 elasticsearch 的 o/r mapping 高性能java开发库,底层基于 es restful api。 主要功能特色 ORM和DSL二者兼顾,类mybatis方式操作ElasticSearch,提供丰富的开发API和开发Demo 采用XML文件配置和管理检索dsl脚本,简洁而直观;只需编写好dsl,放入xml配置文件,通过bboss api...

0
6
发表了资讯
2020/09/17 14:58

Elasticsearch Rest Client bboss v6.2.1 发布

The best Elasticsearch Highlevel Rest Client API-----bboss v6.2.1 发布。 bboss elasticsearch 是一套基 于query dsl 语法操作和访问分布式搜索引擎 elasticsearch 的 o/r mapping 高性能java开发库,底层基于 es restful api。 主要功能特色 ORM和DSL二者兼顾,类mybatis方式操作ElasticSearch,提供丰富的开发API和开发Demo 采用XML文件配置和管理检索dsl脚本,简洁而直观;只需编写好dsl,放入xml配置文件,通过bboss api...

0
15
发表了资讯
2020/06/11 09:47

Elasticsearch Rest Client bboss v6.1.5 发布

The best Elasticsearch Highlevel Rest Client API-----bboss v6.1.5 发布。 bboss elasticsearch 是一套基 于query dsl 语法操作和访问分布式搜索引擎 elasticsearch 的 o/r mapping 高性能java开发库,底层基于 es restful api。 主要功能特色 ORM和DSL二者兼顾,类mybatis方式操作ElasticSearch,提供丰富的开发API和开发Demo 采用XML文件配置和管理检索dsl脚本,简洁而直观;只需编写好dsl,放入xml配置文件,通过bboss api...

2
12
发表了资讯
2020/05/12 09:06

Elasticsearch Rest Client bboss v6.1.1 发布

The best Elasticsearch Highlevel Rest Client API-----bboss v6.0.1 发布。 bboss elasticsearch 是一套基 于query dsl 语法操作和访问分布式搜索引擎 elasticsearch 的 o/r mapping 高性能java开发库,底层基于 es restful api。 主要功能特色 ORM和DSL二者兼顾,类mybatis方式操作ElasticSearch,提供丰富的开发API和开发Demo 采用XML文件配置和管理检索dsl脚本,简洁而直观;提供丰富的逻辑判断语法,在dsl脚本中可以使用变量...

1
16
发表了资讯
2020/02/05 15:44

Elasticsearch Rest Client bboss v6.0.1 发布

The best Elasticsearch Highlevel Rest Client API-----bboss v6.0.1 发布。 bboss elasticsearch 是一套基 于query dsl 语法操作和访问分布式搜索引擎 elasticsearch 的 o/r mapping 高性能java开发库,底层基于 es restful api。 主要功能特色 ElasticSearch兼容性:1.x,2.x,5.x,6.x,7.x,+ JDK兼容性: jdk 1.7+ Spring boot兼容性:1.x,2.x ORM和DSL二者兼顾,类mybatis方式操作ElasticSearch, 支持SQL和JDBC 提供快速而高效的...

1
10
发表了资讯
2019/12/11 15:05

Elasticsearch Rest Client bboss v5.9.7 发布

The best Elasticsearch Highlevel Rest Client API-----bboss v5.9.7 发布。 bboss elasticsearch 是一套基 于query dsl 语法操作和访问分布式搜索引擎 elasticsearch 的 o/r mapping 高性能java开发库,底层基于 es restful api。 主要功能特色 ElasticSearch兼容性:1.x,2.x,5.x,6.x,7.x,+ JDK兼容性: jdk 1.7+ Spring boot兼容性:1.x,2.x ORM和DSL二者兼顾,类mybatis方式操作ElasticSearch, 支持SQL和JDBC 提供快速而高效的...

1
26
发表了资讯
2019/11/14 10:09

Elasticsearch Rest Client bboss v5.9.2 发布

The best Elasticsearch Highlevel Rest Client API-----bboss v5.9.2 发布。 bboss elasticsearch 是一套基 于query dsl 语法操作和访问分布式搜索引擎 elasticsearch 的 o/r mapping 高性能java开发库,底层基于 es restful api。 主要功能特色 ElasticSearch兼容性:1.x,2.x,5.x,6.x,7.x,+ JDK兼容性: jdk 1.7+ Spring boot兼容性:1.x,2.x ORM和DSL二者兼顾,类mybatis方式操作ElasticSearch, 支持SQL和JDBC 提供快速而高效的...

0
17
发表了资讯
2019/10/14 12:39

Elasticsearch Rest Client bboss v5.8.9 发布

The best Elasticsearch Highlevel Rest Client API-----bboss v5.8.9 发布。 bboss elasticsearch 是一套基 于query dsl 语法操作和访问分布式搜索引擎 elasticsearch 的 o/r mapping 高性能开发库,底层基于 es restful api。基于 bboss elasticsearch,可以快速编写出访问和操作 elasticsearch 的程序代码。 主要功能特色 ElasticSearch兼容性:1.x,2.x,5.x,6.x,7.x,+ JDK兼容性: jdk 1.7+ Spring boot兼容性:1.x,2.x ORM和D...

0
20
发表了资讯
2019/06/10 13:02

Elasticsearch Rest Client bboss v5.7.5 发布

The best Elasticsearch Highlevel Rest Client API-----bboss v5.7.5 发布。 bboss elasticsearch 是一套基 于query dsl 语法操作和访问分布式搜索引擎 elasticsearch 的 o/r mapping 高性能开发库,底层基于 es restful api。基于 bboss elasticsearch,可以快速编写出访问和操作 elasticsearch 的程序代码。 主要功能特色 ElasticSearch兼容性:1.x,2.x,5.x,6.x,7.x,+ JDK兼容性: jdk 1.7+ Spring boot兼容性:1.x,2.x ORM和D...

0
14
发表了资讯
2019/05/13 10:24

Elasticsearch Rest Client bboss v5.6.9 发布

The best Elasticsearch Highlevel Rest Client API-----bboss v5.6.9 发布。 bboss elasticsearch 是一套基 于query dsl 语法操作和访问分布式搜索引擎 elasticsearch 的 o/r mapping 高性能开发库,底层基于 es restful api。基于 bboss elasticsearch,可以快速编写出访问和操作 elasticsearch 的程序代码。 主要功能特色 ElasticSearch兼容性:1.x,2.x,5.x,6.x,7.x,+ JDK兼容性: jdk 1.7+ Spring boot兼容性:1.x,2.x ORM和D...

2
14
发表了资讯
2019/04/25 09:13

Elasticsearch Rest Client bboss v5.6.6 发布

The best Elasticsearch Highlevel Rest Client API-----bboss v5.6.6 发布。 bboss elasticsearch 是一套基 于query dsl 语法操作和访问分布式搜索引擎 elasticsearch 的 o/r mapping 高性能开发库,底层基于 es restful api。基于 bboss elasticsearch,可以快速编写出访问和操作 elasticsearch 的程序代码。 主要功能特色 ElasticSearch兼容性:1.x,2.x,5.x,6.x,7.x,+ JDK兼容性: jdk 1.7+ Spring boot兼容性:1.x,2.x ORM和D...

0
26
发表了资讯
2019/04/04 09:51

Elasticsearch Rest Client bboss v5.5.8 发布

The best Elasticsearch Highlevel Rest Client API-----bboss v5.5.8 发布。 主要功能特色 ElasticSearch兼容性:1.x,2.x,5.x,6.x,+ JDK兼容性: jdk 1.7+ Spring boot兼容性:1.x,2.x ORM和DSL二者兼顾,类mybatis方式操作ElasticSearch, 支持SQL和JDBC 提供快速而高效的数据同步导入ES工具 提供按时间日期ES历史数据清理工具 v5.5.8 功能改进 增加更新索引配置通用方法 增加更新集群setting通用api 增加synflush indice api 增...

0
15
发表了资讯
2019/03/16 10:52

Elasticsearch Rest Client bboss v5.5.6 发布

The best Elasticsearch Highlevel Rest Client API-----bboss v5.5.6 发布。 主要功能特色 ElasticSearch兼容性:1.x,2.x,5.x,6.x,+ JDK兼容性: jdk 1.7+ Spring boot兼容性:1.x,2.x ORM和DSL二者兼顾,类mybatis方式操作ElasticSearch, 支持SQL和JDBC 提供快速而高效的数据同步导入ES工具 v5.5.6 功能改进 agg统计:将Integer等数据类型key强制转换String类型错误bug修复 dsl配置文件中片段变量,可以引用外部dsl配置文件中定...

0
12
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
16 评论
126 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部