Elasticsearch Rest Client bboss v5.9.2 发布
时间:2019-11-15 10:10 来源:未知 作者:IT
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,
-
-
提供快速而高效的数据同步导入ES工具(支持DB到Elasticsearch,Elasticsearch到DB,MongoDB到Elastisearch数据同步,后续将支持更多的数据源)
-
提供按时间日期ES历史数据清理工具
-
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完全兼容,可以到以下地址下载改进后最新的工具:
-
jdk timer和quartz demo工程 https://github.com/bbossgroups/db-elasticsearch-tool
-
xxl-job demo工程 https://github.com/bbossgroups/db-elasticsearch-xxjob
7.数据同步工具bug修复:解决增量同步状态更新可能存在的不正确问题
8.数据同步工具改进:增加数据同步监控指标数据的采集,参考文档:数据同步任务执行统计信息获取
9.数据同步工具新增功能:elasticsearch到db的数据同步功能,支持全量、增量定时同步,内置jdk timer同步器,支持quartz、xxl-job任务调度引擎,使用参考:
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版本变更记录
(责任编辑:IT)
The best Elasticsearch Highlevel Rest Client API-----bboss v5.9.2 发布。 bboss elasticsearch 是一套基 于query dsl 语法操作和访问分布式搜索引擎 elasticsearch 的 o/r mapping 高性能java开发库,底层基于 es restful api。 主要功能特色
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任务调度引擎,使用参考: 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版本变更记录 (责任编辑:IT) |