本文主要是介绍SpringBoot2.0.4整合elasticsearch为5.6.10,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
网上找了很一些,很多跑不起来,可能是我的环境和介绍的环境不一样,自己搞重新搞一下!
环境说明:
- spring boot 使用2.0.4
- elasticsearch为5.6.10
- 本地安装ES集群为 6.x版本
第一步
使用IDEA创建Spring boot web项目,使用spring boot 使用2.0.4版本, elasticsearch为5.6.10
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.4.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><!--引入ELasticSearch的依赖包,默认使用elasticsearch5.6.10版本--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency><!--需要引入transport-netty3-client,否则会启动报错--><dependency><groupId>org.elasticsearch.plugin</groupId><artifactId>transport-netty3-client</artifactId><version>5.6.10</version></dependency>
第二步
配置代码,讲ES CLient 组件加入到Spring 容器。
第一种配置方法
/*** ES 配置类* @author:dufyun* @version:1.0.0* @date 2018/8/19* @update:[日期YYYY-MM-DD] [更改人姓名][变更描述]*/
@Configuration
public class ElasticSearchConfig {private static final Logger logger = LoggerFactory.getLogger(ElasticSearchConfig.class);@Beanpublic TransportClient transportClient() {logger.info("初始化开始。。。。。");TransportClient client = null;try {TransportAddress transportAddress = new InetSocketTransportAddress(InetAddress.getByName("localhost"),Integer.valueOf(9300));// 配置信息Settings esSetting = Settings.builder().put("cluster.name","myEsCluster").build();//配置信息Settings自定义client = new PreBuiltTransportClient(esSetting);client.addTransportAddresses(transportAddress);} catch (Exception e) {logger.error("elasticsearch TransportClient create error!!!", e);}return client;}
}
第二种配置方法
也可以使用配置文件!elasticsearch.properties
es.hostName=localhost
es.transport=9300
es.cluster.name=myEsCluster
@Configuration
@PropertySource(value={"classpath:elasticsearch.properties"}) // 加载 指定的配置,只支持properti
public class ElasticSearchConfig {private static final Logger logger = LoggerFactory.getLogger(ElasticSearchConfig.class);@Value("${es.hostName}")private String hostName;@Value("${es.transport}")private Integer transport;@Value("${es.cluster.name}")private String clusterName;@Beanpublic TransportClient transportClient() {LOGGER.info("初始化开始。。。。。");TransportClient client = null;try {TransportAddress transportAddress = new InetSocketTransportAddress(InetAddress.getByName(hostName),Integer.valueOf(transport));// 配置信息Settings esSetting = Settings.builder().put("cluster.name",clusterName).build();//配置信息Settings自定义,下面设置为EMPTYclient = new PreBuiltTransportClient(esSetting);client.addTransportAddresses(transportAddress);} catch (Exception e) {logger.error("elasticsearch TransportClient create error!!!", e);}return client;}
}
第三步
使用单元测试进行验证
@Autowiredprivate TransportClient client;@Testpublic void contextLoads() {System.out.println(client);}
打印结果:
org.elasticsearch.transport.client.PreBuiltTransportClient@6c9b44bf
如果您觉得这篇博文对你有帮助,请点赞或者喜欢,让更多的人看到,谢谢!
如果帅气(美丽)、睿智(聪颖),和我一样简单善良的你看到本篇博文中存在问题,请指出,我虚心接受你让我成长的批评,谢谢阅读!
祝你今天开心愉快!
欢迎访问我的csdn博客,我们一同成长!
不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!
博客首页 : http://blog.csdn.net/u010648555
© 每天都在变得更好的阿飞
这篇关于SpringBoot2.0.4整合elasticsearch为5.6.10的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!