原文:https://blog.csdn.net/u010882234/article/details/74941954
最近在做接口服务的项目,用的是微服务架构spring cloud,主要是基于spring boot,使用idea构建真的很方便。离线数据搜索服务,使用的是Elasticsearch,版本5.2.0。在使用过程中,不太顺利,建立client连接一直失败,最后发现是spring boot的原因,得到了解决。
Elasticsearch和Solr都是搜索引擎,在java项目中使用,非常方便,查询效率也很高。Elasticsearch支持分布式部署,支持全文搜索。具体的使用方式我还未完全掌握,我在项目中的角色是服务接口的开发,关于Elasticsearch,就是使用它检索数据。
作为程序员,使用不熟悉的知识技能去完成开发任务,是基本技能吧。先在网上查找Elasticsearch的资料,查看别人的使用经验。Elasticsearch使用有2种方式,可以使用HTTP调用,也可以建立client连接使用。由于后期服务量会比较大,决定采用建立client连接的方式查询。首先使用了org.elasticsearch:5.2.2的jar不可以。之后问了下同事,他的工作是数据处理,建索存储,他已经正常使用了。把他的使用方式拿了过来,org.elasticsearch.client:5.2.2版本的jar包,还是不行,非常诡异。
由于同事已经正常使用,我就感觉是我这边的问题,只好打断点,排查代码了。首先是报这个错误,报错1:Unsupported major.minor version 52.0,经过网上搜索,发现是jdk版本过低的问题,1.7都不行。注意:elasticsearch5.2版本,只能用jdk1.8及以上。
第一个问题解决后,继续报错。报错2:找不到NetworkPlugin。这个问题在同事那儿是没问题的,继续排查,发现报错是发生在创建client时,new PreBuiltTransportClient时报错。点进去后这个类发现,它不在elasticse