歡迎您光臨本站 註冊首頁

Elasticsearch Rest Client bboss v5.9.2 發布

←手機掃碼閱讀     admin @ 2019-11-14 , reply:0

The best Elasticsearch Highlevel Rest  Client API-----bboss    v5.9.2 發布。

bboss elasticsearch 是一套基 於query dsl 語法操作和訪問分散式搜索引擎 elasticsearch 的 o/r mapping 高性能java開發庫,底層基於 es restful api。

主要功能特色

  1. ElasticSearch兼容性:1.x,2.x,5.x,6.x,7.x,+

  2. JDK兼容性: jdk 1.7+

  3. Spring boot兼容性:1.x,2.x

  4. ORM和DSL二者兼顧,類mybatis方式操作ElasticSearch,

  5. 支持SQLJDBC

  6. 提供快速而高效的數據同步導入ES工具(支持DB到Elasticsearch,Elasticsearch到DB,MongoDB到Elastisearch數據同步,後續將支持更多的數據源)

  7. 提供按時間日期ES歷史數據清理工具

  8. APM開源產品pinpoint官方Elasticsearch bboss 客戶端性能監控插件,插件地址:

     https://github.com/naver/pinpoint/tree/master/plugins/elasticsearch-bboss

v5.9.2 功能改進:

1.增加MetaMap類:MetaMap繼承HashMap,為map 增加meta元數據相關的屬性信息,參考示例:


        //創建批量創建文檔的客戶端對象,單實例多線程安全
        ClientInterface clientUtil = ElasticSearchHelper.getRestClientUtil();
        //單文檔檢索
        MetaMap newDemo = clientUtil.getDocument("demo",//索引表
                "demo",//索引類型
                "1",//文檔id
                MetaMap.class
        );
        //列印metamap和返回的文檔元數據信息
        System.out.println(newDemo);
        System.out.println("getId:"+newDemo.getId());
        System.out.println("getIndex:"+newDemo.getIndex());
        System.out.println("getNode:"+newDemo.getNode());
        System.out.println("getShard:"+newDemo.getShard());
        System.out.println("getType:"+newDemo.getType());
        System.out.println("getExplanation:"+newDemo.getExplanation());
        System.out.println("getFields:"+newDemo.getFields());
        System.out.println("getHighlight:"+newDemo.getHighlight());
        System.out.println("getInnerHits:"+newDemo.getInnerHits());
        System.out.println("getNested:"+newDemo.getNested());
        System.out.println("getPrimaryTerm:"+newDemo.getPrimaryTerm());
        System.out.println("getScore:"+newDemo.getScore());
        System.out.println("getSeqNo:"+newDemo.getSeqNo());
        System.out.println("getVersion:"+newDemo.getVersion());
        System.out.println("getParent:"+newDemo.getParent());
        System.out.println("getRouting:"+newDemo.getRouting());
        System.out.println("getSort:"+newDemo.getSort());
        System.out.println("isFound:"+newDemo.isFound());
        //列表檢索
        ESDatas<MetaMap> data //ESDatas為查詢結果集對象,封裝了返回的當前查詢的List<TAgentInfo>結果集和符合條件的總記錄數totalSize
            = clientUtil.searchList("trace-*/_search",//查詢操作,查詢indices trace-*中符合條件的數據
                                "queryServiceByCondition",//通過名稱引用配置文件中的query dsl語句
                                parmas,//查詢條件,Map<key,value>
                                MetaMap.class);//指定返回的po對象類型,po對象中的屬性與indices表中的文檔filed名稱保持一致
//獲取結果對象列表
        List<MetaMap> demos = data.getDatas();
        //獲取總記錄數
        long totalSize = data.getTotalSize();

2.修復自定義啟動客戶端問題:設置數字參數和boolean參數不起作用

3.數據同步工具:增加mongodb到elasticsearch同步功能,工具demo:

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

參考文檔:mongodb-elasticsearch數據同步使用方法

4.數據同步工具改進:如果同步欄位中包含名稱為_id的屬性,則忽略之,否則會導致數據無法正常導入Elasticsearch

5.增加慢請求服務調用日誌信息採集功能,可以將慢dsl列印到日誌文件或者發送給接收慢dsl的回調介面函數

增加兩個參數:

elasticsearch.slowDslThreshold(慢dsl時間條件參數 )和  elasticsearch.slowDslCallback(接收慢dsl的介面配置)

  slowDslThreshold單位:ms 毫秒


  elasticsearch.slowDslThreshold=10000

  spring boot配置項


spring.elasticsearch.bboss.elasticsearch.slowDslThreshold=10000

 指定接收慢dsl的回調介面函數slowDslCallback,便於自行處理慢dsl信息


  public interface SlowDslCallback {
          void slowDslHandle( SlowDsl slowDsl);
      }

​ slowDslCallback配置:


  elasticsearch.slowDslCallback=org.bboss.elasticsearchtest.crud.TestSlowDslCallback

​ spring boot配置項


spring.elasticsearch.bboss.elasticsearch.slowDslCallback=org.bboss.elasticsearchtest.crud.TestSlowDslCallback

如果沒有指定回調處理介面,將直接列印警告信息到日誌文件,WARN級別 , 如果dsl過長,需要截取掉部分內容再列印到日誌文件中:超過2048的dsl將被截取掉超過的內容,替換為.....,否則調用SlowDslCallback介面方法slowDslHandle傳遞慢dsl的相關信息:

6.數據同步工具改進:完善增量數據同步機制,增量欄位無需排序即可實現增量同步功能,提升同步性能,改進後部分類(比如Context)包路徑做了調整,但是api完全兼容,可以到以下地址下載改進后最新的工具:

7.數據同步工具bug修復:解決增量同步狀態更新可能存在的不正確問題

8.數據同步工具改進:增加數據同步監控指標數據的採集,參考文檔:數據同步任務執行統計信息獲取

9.數據同步工具新增功能:elasticsearch到db的數據同步功能,支持全量、增量定時同步,內置jdk timer同步器,支持quartz、xxl-job任務調度引擎,使用參考:

elasticsearch-db數據同步使用方法

10.簡化數據同步程序開發調試工作:可以直接在同步程序的main中方法進行同步功能開發和調試

11.Scroll/Slice scroll檢索功能改進:支持在hanlder結果回調處理函數中中斷scroll/slice croll的執行,參考文檔:

https://esdoc.bbossgroups.com/#/Scroll-SliceScroll-api

12.json庫fastjackson升級到2.10.0

Elasticsearch bboss使用文檔

Elasticsearch bboss版本變更記錄


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/111323/bboss-elasticsearch-5-9-2-released
Elasticsearch Rest Client bboss v5.9.2 發布已經有79次圍觀

http://coctec.com/news/all/show-post-219455.html