快速集成Elasticsearch Restful API案例分享
The best elasticsearch highlevel java rest api——-
快速集成Elasticsearch Restful API案例分享,本案例代码可用于非spring项目和spring项目,兼容spring boot 1.x,2.x,兼容Elasticserch 1.x,2.x,5.x,6.x,以及后续版本。
本文中讲述的方法同样适用于其他xxx boot类型项目集成bboss es。
1.导入bboss elasticsearch
基于maven开发的工程,在pom.xml文件中导入以下maven坐标
maven坐标
基于gradle开发的工程,在build.gradle文件中导入以下gradle坐标
gradle坐标
2.配置bboss elasticsearch
bboss会在classpath下面查找并加载配置文件application.properties,文件不存在会忽略,那么就使用默认elasticsearch地址:
127.0.0.1:9200
bboss支持单集群配置和多集群配置。获取操作单集群clientinferface组件方法,获取操作多集群对应集群clientinferface组件方法,请参考文档《高性能elasticsearch ORM开发库使用介绍》章节:【3 bboss es操作和访问elasticsearch模式】。
单个集群配置极简单,修改项目的application.properties文件,只需要加入以下内容即可:
如果需要更多的配置,可以将以下内容复制到项目的application.properties文件中:
#x-pack认证账号和口令
elasticUser=elastic
elasticPassword=changeme
#es服务器地址配置
#elasticsearch.rest.hostNames=10.180.211.27:9280,10.180.211.27:9281,10.180.211.27:9282
#动态索引表名称日期格式配置
elasticsearch.dateFormat=yyyy.MM.dd
elasticsearch.timeZone=Asia/Shanghai
elasticsearch.ttl=2d
#在控制台输出脚本调试开关showTemplate,false关闭,true打开,同时log4j至少是info级别
elasticsearch.showTemplate=true
#客户端动态发现es集群节点控制开关
elasticsearch.discoverHost=false
#http链接池配置
http.timeoutConnection = 400000
http.timeoutSocket = 400000
http.retryTime = 1
http.maxLineLength = -1
http.maxHeaderCount = 200
http.defaultMaxPerRoute = 200
# dsl配置文件热加载扫描时间间隔,毫秒为单位,默认5秒扫描一次,<= 0时关闭扫描机制
dslfile.refreshInterval = -1
这些配置的含义,可以参考文档:《》章节2进行了解。
其他各种boot框架配置的时候,也可自行创建application.properties配置文件,在其中配置需要的参数。
//没有dsl配置文件
ClientInterface clientUtil = ElasticSearchHelper.getRestClientUtil("logs");//指定集群名称logs
ClientInterface clientUtil = ElasticSearchHelper.getRestClientUtil();//默认组件方法
ClientInterface clientUtil = ElasticSearchHelper.getRestClientUtil("default");//默认组件方法
//有dsl配置文件
ClientInterface clientUtil = ElasticSearchHelper.getConfigRestClientUtil("logs",configFile);//指定集群名称logs
ClientInterface clientUtil = ElasticSearchHelper.getConfigRestClientUtil(configFile);//默认组件方法
ClientInterface clientUtil = ElasticSearchHelper.getConfigRestClientUtil("default",configFile);//默认组件方法
3.验证集成是否成功
完成前面两步工作后,就可以通过以下代码验证集成是否成功,如果正确打印elasticssearch集群状态,那说明集成成功:
3.完整的demo实例工程
https://github.com/bbossgroups/eshelloword-booter
4.参考文档
5 开发交流
elasticsearch技术交流:166471282
elasticsearch技术交流: