본문 바로가기
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