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) |