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());
    }
}

 

 

 

 

엘라스틱 서치 가이드북

- https://esbook.kimjmin.net/

 

Elastic 가이드 북 - Elastic 가이드북

7. 인덱스 설정과 매핑 - Settings & Mappings

esbook.kimjmin.net

 

728x90