bboss elasticsearch V5.0.8.2 釋出

類別: IT

The best Elasticsearch Highlevel Rest  Client API-----bboss   v5.0.8.2 釋出。

主要功能特色

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

  2. JDK相容性: jdk 1.6+

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

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

v5.0.8.2功能改進

  • 1.獲取、修改、刪除不存在的文件時,處理更加友好,不再丟擲異常

             獲取不存在的文件時,直接返回null,不再丟擲異常

             修改、刪除不存在的文件時,返回不存在的json報文 ,不再丟擲異常     

  • 2.支援物件直接轉json的功能,通過在繫結變數中指定serialJson屬性來控制,例如:

    #[dynamicPriceTemplate->rules[$velocityCount],serialJson=true]

  • 3.解決DSL繫結變數引用物件屬性的值為null時,報空指標異常問題,例如:goodsId為null時,直接輸出null,而不是丟擲空指標異常
    #[dynamicPriceTemplate->goodsId]

  • 4.Painless Script 中source/inline可以直接放置繫結變數引數,通過escapeCount屬性支援二次轉義的功能,指令碼配置示例如下:

<property name="scriptPianduan2">        <![CDATA[            "params": {              "last": #[last],              "nick": #[nick],              "goodsId": #[dynamicPriceTemplate->goodsId],              "rules":[                   #foreach($rule in $dynamicPriceTemplate.rules)                       #[dynamicPriceTemplate->rules[$velocityCount],serialJson=true] ## 通過屬性serialJson指示框架直接將物件序列化為json資料                        #if($velocityCount != ($dynamicPriceTemplate.rules.size() - 1)),#end                   #end              ]            }        ]]>    </property>    <property name="scriptDslByQuery">        <![CDATA[{          "query": {            "bool": {              "must": [                {                  "term": {                    "_id": #[id]                  }                }              ]            }          },          "script": {            "lang": "painless",            "source": @"""              ctx._source.last = params.last;              ctx._source.lastSpecial = "#[last,quoted=false]";              ctx._source.nick = params.nick;              ctx._source.goodName = #[dynamicPriceTemplate->goodName,escapeCount=2];#*在指令碼中,含有特殊字元的goodName需要轉義2次*#              ctx._source.goodsId = #[dynamicPriceTemplate->goodsId];              ctx._source.dynamicPriceTemplate.goodsId = params.goodsId;              ctx._source.rules = params.rules            """,            @{scriptPianduan2}          }        }]]>    </property>

執行上面Painless Script的Java程式碼:ScriptImpl.java

  • 5 解決因為分表日期格式引數elasticsearch.dateFormat沒有配置而丟擲異常的問題

快速整合和應用參考文件 

所有專案整合參考文件:https://my.oschina.net/bboss/blog/1801273

spring boot專案整合參考文件:https://my.oschina.net/bboss/blog/1835601

詳細使用文件 

https://my.oschina.net/bboss/blog/1556866

原始碼託管地址

http://github.com/bbossgroups/bboss-elastic

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

bboss elasticsearch V5.0.8.2 釋出原文請看這裡