웹/ElasticSearch

엘라스틱 서치와 logstash , 스프링에서 사용법

컴퓨터과학 2024. 5. 12. 20:07

설치:

https://www.elastic.co/kr/elasticsearch

 

Elasticsearch: 공식 분산형 검색 및 분석 엔진 | Elastic

Elasticsearch는 속도, 수평적 확장성, 안정성 및 간편한 관리를 위해 설계된 선도적인 분산형 RESTful 무료 오픈 소스 검색 및 분석 엔진입니다. 무료로 시작하세요....

www.elastic.co

1. Elasticsearch

Elasticsearch는 분산형 검색 및 분석 엔진으로, JSON 기반의 문서들을 색인하여 고속 검색 및 데이터 분석을 제공합니다.

설치 및 실행

  • Elastic의 공식 웹사이트에서 Elasticsearch를 다운로드하고 설치합니다.
  • elasticsearch.yml 설정 파일을 편집하여 필요한 설정을 변경합니다.
  • 터미널에서 bin/elasticsearch를 실행하여 Elasticsearch 서버를 시작합니다.

2. Logstash

Logstash는 다양한 소스에서 로그 및 이벤트 데이터를 수집하고 변환한 다음 Elasticsearch로 전달하는 역할을 합니다.

설치 및 실행

  • Elastic의 공식 웹사이트에서 Logstash를 다운로드하고 설치합니다.
  • logstash.conf와 같은 설정 파일을 만들어 다음과 같이 구성합니다
input {
  file {
    path => "/path/to/your/logfile.log"
    start_position => "beginning"
  }
}
filter {
  # 필요한 경우 필터 설정을 추가
}
output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "log-index"
  }
}

3. Spring

Spring 애플리케이션에서 Elasticsearch와 통합하는 데는 spring-data-elasticsearch를 사용할 수 있습니다.

설치 및 사용

  • Spring 프로젝트에 spring-data-elasticsearch 의존성을 추가합니다.
<!-- Maven -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
  <version>3.0.0</version>
</dependency>

 

application. yml

spring:
  elasticsearch:
    uris: http://localhost:9200

 

EntitiyClass

@Document(indexName = "your-index")
public class YourEntity {
  @Id
  private String id;
  private String field1;
  // 필드 추가
}

public interface YourEntityRepository extends ElasticsearchRepository<YourEntity, String> {
  // 맞춤형 쿼리 메소드 정의
}