SpringBoot知识体系(四)springboot整合Elasticsearch(1)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_37338761/article/details/102501961

在这里插入图片描述


准备写写关于springboot整合Elasticsearch的内容,主要就是使用TransportClient去操作Elasticsearch,一篇文章太长了,于是分开几篇来写这部分内容。下面是第一篇内容,其他内容见后面博文。。。


Java客户端使用TransportClient连接Elasticsearch,依赖与配置如下:

环境信息:
Java: 1.8
Elasticsearch: 2.4.6
springboot: 1.5.7

springboot版本与es依赖

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.7.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

	<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
        </dependency>
  </dependencies>

application.properties

#elasticsearch
elasticsearch.cluster.name=elasticsearch
elasticsearch.host=127.0.0.1
elasticsearch.port=9300

ES配置

import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

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

@Configuration
public class ElasticsearchConfig {

    @Value("${elasticsearch.host}")
    private String esHost;

    @Value("${elasticsearch.port}")
    private int esPort;

    @Value("${elasticsearch.cluster.name}")
    private String esName;

    @Bean
    public TransportClient esClient() throws UnknownHostException {
        Settings settings = Settings.builder()
                .put("cluster.name", this.esName)
                .build();

        InetSocketTransportAddress master = new InetSocketTransportAddress(
                InetAddress.getByName(esHost), esPort);
        TransportClient client = TransportClient.builder().settings(settings).build().addTransportAddress(master);

        return client;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_37338761/article/details/102501961