본문 바로가기
PROJECTS/Web

엘라스틱서치 스프링부트 연동

by alasdkfm 2024. 3. 22.

Config 파일 : 

import ch.qos.logback.core.net.server.Client; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchClientAutoConfiguration; 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.elc.ElasticsearchConfiguration; import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.serializer.StringRedisSerializer; @Configuration @EnableElasticsearchRepositories public class ElasticConfig extends ElasticsearchConfiguration { ​​​​@Override ​​​​public ClientConfiguration clientConfiguration() { ​​​​​​​return ClientConfiguration.builder() ​​​​​​​​​​​​​.connectedTo("localhost:9200") ​​​​​​​​​​​​​.build(); ​​​​} }

 

Repository

import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; import org.springframework.stereotype.Repository; import java.util.List; @Repository public interface SearchTeamsRepository extends ElasticsearchRepository<SearchTeams, Long> { }

 

Document

import jakarta.persistence.*; import lombok.*; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.FieldType; @Getter @Builder @NoArgsConstructor @AllArgsConstructor @Document(indexName = "teams") public class SearchTeams { ​​​​@Id ​​​​private Long id; ​​ ​​​​@Field(name="keyword", type = FieldType.Text) ​​​​private String keyword; }

 

'PROJECTS > Web' 카테고리의 다른 글

엘라스틱서치 초기 설정  (0) 2024.03.22