Elasticsearch
[Elasticsearch] 엘라스틱 서치 SpringBoot 연동
다콩잉
2023. 6. 26. 13:54
7.10.2 버전(무료)
💡 Elasticsearch는 7.10.2 버전까지만 무료로 사용이 가능하며, xpack과 logstash는 선택사항이다.
1. build.gradle 설정 파일
implementation 'org.springframework.boot:spring-boot-starter-data-elasticsearch'
implements 'org.elasticsearch.client:elasticsearch-rest-high-level-client:7.10.2'
- logstash를 사용할 경우
implementation 'net.logstash.logback:logstash-logback-encoder:7.2'
2. application.yml 설정 파일
- elasticsearch 호스트 ip 주소랑 port를 설정한다
elasticsearch:
host: 연결할 elasticsearch 호스트 ip주소
port: elasticsearch port
3. ElkConfig.java 파일 생성
import lombok.extern.slf4j.Slf4j;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.elasticsearch.client.ClientConfiguration;
import org.springframework.data.elasticsearch.client.RestClients;
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
@Configuration
@Slf4j
public class ElkConfig{
@Value("${elasticsearch.host}")
private String hostname;
@Value("${elasticsearch.port}")
private Integer port;
@Bean
public RestHighLevelClient client(){
ClientConfiguration clientConfiguration = ClientConfiguration.builder()
.connectedTo(hostname + ":" + port)
.build();
return RestClients.create(clientConfiguration).rest();
}
@Bean
public ElasticsearchOperations elasticsearchTemplate(){
return new ElasticsearchRestTemplate(client());
}
}
엘라스틱 서치 가이드북
Elastic 가이드 북 - Elastic 가이드북
7. 인덱스 설정과 매핑 - Settings & Mappings
esbook.kimjmin.net
728x90