SpringBoot整合ElasticSearch详细过程

SpringBoot整合ElasticSearch详细过程首先呢 在整合之前我们需要安装 ElasticSearc 可以参照之前博主的文章 Windows 环境下安装 ES 一 创建工程 使用 IntelliJ 创建 SpringBoot 工程 SpringBoot 版本为 2 0 4 ElasticSearc 为 5 6 10 删掉蓝框中的文件 如上 最后我们的目录结构 如下 下面 pom 文件主要修改的是把 spring boot 从 IntelliJ 默认的版本换成 2

首先呢 在整合之前我们需要安装ElasticSearch 可以参照之前博主的文章

Windows环境下安装ES

一、创建工程
使用IntelliJ创建SpringBoot工程 SpringBoot版本为2.0.4 ElasticSearch为5.6.10
删掉蓝框中的文件(如上) 最后我们的目录结构(如下)
下面pom文件主要修改的是把spring boot从IntelliJ默认的版本换成2.0.4以及添加netty3的客户端 否则启动会报错

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0

net.conn
elasticsearch
0.0.1-SNAPSHOT
war

elasticsearch
Demo project for Spring Boot


org.springframework.boot
spring-boot-starter-parent
2.0.4.RELEASE




UTF-8
UTF-8
1.8





org.springframework.boot
spring-boot-starter-data-elasticsearch



org.elasticsearch.plugin
transport-netty3-client
5.6.10


org.springframework.boot
spring-boot-starter-web



org.springframework.boot
spring-boot-starter-tomcat
provided


org.springframework.boot
spring-boot-starter-test
test






org.springframework.boot
spring-boot-maven-plugin





/project>

br /> es.hostName=localhost

br />

br /> #Es端口号

br /> es.transport=9300

br />

br /> #配置es的集群名称,默认是elasticsearch,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群

br /> es.cluster.name=elasticsearch

br />

br /> import org.elasticsearch.client.transport.TransportClient;

br /> import org.elasticsearch.common.settings.Settings;

br /> import org.elasticsearch.common.transport.InetSocketTransportAddress;

br /> import org.elasticsearch.common.transport.TransportAddress;

br /> import org.elasticsearch.transport.client.PreBuiltTransportClient;

br /> import org.slf4j.Logger;

br /> import org.slf4j.LoggerFactory;

br /> import org.springframework.beans.factory.annotation.Value;

br /> import org.springframework.context.annotation.Bean;

br /> import org.springframework.context.annotation.Configuration;

br /> import org.springframework.context.annotation.PropertySource;

br />

br /> import java.net.InetAddress;

br /> import java.net.UnknownHostException;

br />

br /> /**

br /> * @Author Conn

br /> * @Date 2018/10/15

br /> */

br /> @Configuration

br /> @PropertySource(value = "classpath:config/elasticsearch.properties")

br /> public class ElasticSearchConfig {

br /> private static final Logger logger = LoggerFactory.getLogger(ElasticSearchConfig.class);

br />

br /> @Value("${es.hostName}")

br /> private String hostName;

br />

br /> @Value("${es.transport}")

br /> private Integer transport;

br />

br /> @Value("${es.cluster.name}")

br /> private String clusterName;

br />

br /> @Bean

br /> public TransportClient transportClient() {

br /> logger.info("ElasticSearch初始化开始");

br />

br /> TransportClient transportClient = null;

br />

br /> try {

br /> TransportAddress transportAddress = new InetSocketTransportAddress(InetAddress.getByName(hostName), Integer.valueOf(transport));

br />

br /> //配置信息

br /> Settings es = Settings.builder().put("cluster.name", clusterName).build();

br />

br /> //配置信息Settings自定义

br /> transportClient = new PreBuiltTransportClient(es);

br />

br /> transportClient.addTransportAddress(transportAddress);

br /> } catch (UnknownHostException e) {

br /> logger.error("ES创建错误", e);

br /> }

br /> return transportClient;

br /> }

br /> }

br /> 2018-10-19 15:48:05.190 INFO 44964 --- [ Thread-8] o.s.j.e.a.AnnotationMBeanExporter : Unregistering JMX-exposed beans on shutdown

br /> Disconnected from the target VM, address: '127.0.0.1:60159', transport: 'socket'

dependency>


org.springframework.boot

spring-boot-starter-tomcat

/artifactId>

br />

!--

provided

-->


/dependency>

----

后记

OK 项目启动了 我们的整合也就成功了 接下来博主会带来部分elastic search的Java API的使用方法。
编程小号
上一篇 2025-03-24 14:40
下一篇 2025-03-19 16:01

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/111168.html