SpringBoot集成Elasticsearch并进行增删改查操作

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

一、创建工程

使用IntelliJ创建SpringBoot工程 SpringBoot版本为2.0.4 ElasticSearch为5.6.10


SpringBoot集成Elasticsearch并进行增删改查操作_第1张图片

SpringBoot集成Elasticsearch并进行增删改查操作_第2张图片

SpringBoot集成Elasticsearch并进行增删改查操作_第3张图片

SpringBoot集成Elasticsearch并进行增删改查操作_第4张图片

SpringBoot集成Elasticsearch并进行增删改查操作_第5张图片

SpringBoot集成Elasticsearch并进行增删改查操作_第6张图片

删掉蓝框中的文件(如上) 最后我们的目录结构(如下)


SpringBoot集成Elasticsearch并进行增删改查操作_第7张图片

下面pom文件主要修改的是把spring boot从IntelliJ默认的版本换成2.0.4以及添加netty3的客户端 否则启动会报错



    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
            
        
    



配置代码

SpringBoot集成Elasticsearch并进行增删改查操作_第8张图片
#Es地址
es.hostName=localhost

#Es端口号
es.transport=9300

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

在Java工程下创建config文件夹 然后创建ElasticSearchConfig.java


SpringBoot集成Elasticsearch并进行增删改查操作_第9张图片

import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.transport.TransportAddress;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

import java.net.InetAddress;
import java.net.UnknownHostException;

/**
 * @Author Conn
 * @Date 2018/10/15
 */
@Configuration
@PropertySource(value = "classpath:config/elasticsearch.properties")
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;

    @Bean
    public TransportClient transportClient() {
        logger.info("ElasticSearch初始化开始");

        TransportClient transportClient = null;

        try {
            TransportAddress transportAddress = new InetSocketTransportAddress(InetAddress.getByName(hostName), Integer.valueOf(transport));

            //配置信息
            Settings es = Settings.builder().put("cluster.name", clusterName).build();

            //配置信息Settings自定义
            transportClient = new PreBuiltTransportClient(es);

            transportClient.addTransportAddress(transportAddress);
        } catch (UnknownHostException e) {
            logger.error("ES创建错误", e);
        }
        return transportClient;
    }
}

启动项目

这时候我们通过springboot启动器启动项目会发现控制台报以下的错误


SpringBoot集成Elasticsearch并进行增删改查操作_第10张图片

解决方法是 pom文件里注释掉provided


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

后记

OK 项目启动了 我们的整合也就成功了 接下来博主会带来部分elastic search的Java API的使用方法。

你可能感兴趣的:(SpringBoot集成Elasticsearch并进行增删改查操作)