内容简介:The best Elasticsearch Highlevel Rest Client API-----bboss v5.9.2 发布。 bboss elasticsearch 是一套基 于query dsl 语法操作和访问分布式搜索引擎 elasticsearch 的 o/r mapping 高性能java开发库,底层基于...
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版本变更记录
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- NPM包(模块)发布、更新、撤销发布
- 有赞灰度发布与蓝绿发布实践
- 【重磅发布】Linkis 0.10.0 版本发布
- BeetlSQL 3.0.9 发布,Idea 插件发布
- 贝密游戏 0.7.0 发布,发布斗地主
- 【重磅发布】DataSphere Studio 0.9.0 版本发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。