Elasticsearch Rest Client bboss v6.3.1 发布

来源: 投稿
作者: bboss
2021-08-02 07:37:00

The best Elasticsearch Highlevel Rest  Client API-----bboss    v6.3.1 发布。

bboss elasticsearch 是一套基 于query dsl 语法操作和访问分布式搜索引擎 elasticsearch 的 o/r mapping 高性能java开发库,底层基于 es restful api。

主要功能特色

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

  2. 采用XML文件配置和管理检索dsl脚本,简洁而直观;只需编写好dsl,放入xml配置文件,通过bboss api完成相应的检索查询操作即可;提供丰富的逻辑判断语法,在dsl脚本中可以使用变量、脚本片段、foreach循环、逻辑判断、注释;基于可扩展DSL配置管理机制可以非常方便地实现数据库、redis等方式管理dsl;配置管理的dsl语句支持在线修改、自动热加载,支持在线控制将运行时dsl打印到日志文件功能,开发和调试非常方便

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

  4. 提供Elasticsearch集群节点自动发现机制:自动发现Elasticsearch服务端节点增加和下线操作并变更客户端集群可用节点地址清单;提供api自定义发现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数据同步DB到DB之间数据同步,后续将支持更多的数据源

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

  12. APM开源产品pinpoint官方Elasticsearch bboss 客户端性能监控插件,插件地址: https://github.com/naver/pinpoint/tree/master/plugins/elasticsearch-bboss

  13. 与Elasticsearch、Spring boot、jdk兼容性

    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

    jdk兼容性:jdk 1.7+

v6.3.1 功能改进

  1. 增加evalConfigDsl方法,使用params中的参数变量,解析配置文件中dslName对应的dsl语句,并返回解析出来的dsl
        ClientInterface util = (ConfigRestClientUtil) ElasticSearchHelper.getConfigRestClientUtil("demo7.xml");
        Map params = new HashMap();
        params.put("aaa","_&/+\"\\.");
        System.out.println(util.evalConfigDsl("testesencode",params));

 

2.可自定义采集dsl执行性能数据:增加dsl输出组件logDslCallback 通过组件logDslCallback,通过回调接口方法可以自定义采集dsl的执行信息

public void logDsl(LogDsl logDsl);

参数LogDsl封装了以下信息

    /**
     * 慢dsl输出阈值
     */
    private  int slowDslThreshold;

    /**
     * elasticsearch rest http服务请求地址
     */
    private String url;
    /**
     * http request method:post,get,put,delete
     */
    private String action;
    /**
     * request handle elapsed ms
     */
    private long time;
    /**
     * elasticsearch dsl
     */
    private  String dsl;
    /**
     * request handle begin time.
     */
    private Date startTime;
    /**
     * request handle end time.
     */
    private Date endTime;

    /**
     * 0 - dsl执行成功
     * 1 - dsl执行异常
     */
    private int resultCode;

使用方法: 组件LogDslCallback实现接口org.frameworkset.elasticsearch.client.LogDslCallback 然后在配置文件中进行配置:

非spring boot项目

elasticsearch.logDslCallback=org.frameworkset.elasticsearch.client.LoggerDslCallback

springboot项目

spring.elasticsearch.bboss.elasticsearch.logDslCallback=org.frameworkset.elasticsearch.client.LoggerDslCallback

3. 将SlowDslCallback和LogDslCallback两个接口合并,保留接口LogDslCallback

更多版本变更记录访问

Elasticsearch bboss使用文档

展开阅读全文
点击引领话题📣 发布并加入讨论🔥
0 评论
6 收藏
分享
返回顶部
顶部