您的位置:首页 > 编程语言 > Java开发

ElasticSearch学习 - (五)SpringBoot集成ElasticSearch5.X

2017-12-29 17:30 531 查看

步骤:

添加pom文件依赖

配置ElasticSearch

使用ElasticSearch的java客户端

一、添加pom文件依赖

<properties>
<elasticsearch.version>5.6.4</elasticsearch.version>
</properties>

<!-- elasticsearch -->
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>${elasticsearch.version}</version>
</dependency>

<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>${elasticsearch.version}</version>
</dependency>

<!-- elasticsearch依赖,版本需要小于等于2.7 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.7</version>
</dependency>


二、配置ElasticSearch

package com.ahut.config;

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

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

/**
*
* @ClassName: ElasticSearchConfig
* @Description: elasticsearch配置
* @author cheng
* @date 2017年12月28日 下午5:34:23
*/
@Configuration
public class ElasticSearchConfig {

/**
*
* @Title: transportClient
* @Description: 配置elasticsearch
* @return
* @throws UnknownHostException
*/
@Bean
public TransportClient transportClient() throws UnknownHostException {
// 一定要注意,9300为elasticsearch的tcp端口
InetSocketTransportAddress master = new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300);
InetSocketTransportAddress node1 = new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9301);
InetSocketTransportAddress node2 = new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9302);
// 集群名称
Settings settings = Settings.builder().put("cluster.name", "rick").build();
TransportClient client = new PreBuiltTransportClient(settings);
// 添加
client.addTransportAddresses(master, node1, node2);
return client;
}

}


三、使用ElasticSearch的java客户端

dao层中注入:

/**
* ElasticSearch客户端
*/
@Autowired
private TransportClient client;


工具类中注入:

/**
* ElasticSearch客户端,静态字段不同直接装配,这里通过set方法装配
*/
private static TransportClient client;

/**
*
* @Title: setClient
* @Description: spring注入静态字段
* @param client
*/
@Autowired
public void setClient (TransportClient client) {
工具类名称.client = client;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息