ElasticSearch를 Repository Pattern을 활용하여 구성 (1)
# ElasticSearch는 주로 언제 사용 될까?
Elasticsearch는 분산형 검색 및 분석 엔진으로, 대량의 데이터를 실시간으로 검색하고 분석하는 데 사용된다.
주로 로그 분석, 텍스트 검색, 데이터 시각화, 애플리케이션 모니터링 등에 사용된다.
언제 사용할까?
로그 및 이벤트 데이터 분석: 대량의 로그 데이터를 실시간으로 수집하고 분석할 때.
텍스트 검색: 웹사이트나 애플리케이션에서 빠른 텍스트 검색 기능을 제공할 때.
데이터 시각화: Kibana와 함께 사용하여 데이터를 시각화하고 대시보드를 만들 때.
애플리케이션 모니터링: 시스템 성능 모니터링 및 알림 설정을 할 때.
어떻게 사용할까?
Elasticsearch 설치 및 설정
Elasticsearch를 다운로드하고 설치한다.
elasticsearch.yml 파일을 수정하여 클러스터 설정을 구성한다.
윈도우 사용자는 아래 링크를 참고
https://may9noy.tistory.com/1761
데이터 인덱싱은 아래의 절차를 따른다.
1. 인덱스 생성: 데이터를 저장할 인덱스를 생성 한다.
2. 매핑 설정: 인덱스에 저장될 데이터의 구조를 정의 한다.
3. 데이터 적재: 데이터를 인덱스에 저장 한다.
데이터 인덱싱
데이터를 JSON 형식으로 변환하여 Elasticsearch에 인덱싱한다.
REST API를 사용하여 데이터를 인덱싱할 수 있다.
인덱스 생성 방법은 아래와 같다. (콘솔과 CLI를 사용하여 구성 가능)
curl -X PUT "localhost:9200/logs?pretty"
ElasticSearch 맵핑 설정 : 매핑은 인덱스의 필드와 데이터 타입을 정의하는 작업이다.
curl -X PUT "localhost:9200/logs/_mapping?pretty" -H "Content-Type: application/json" -d '{
"properties": {
"id": { "type": "keyword" },
"message": { "type": "text" },
"timestamp": { "type": "date" }
}
}'
인덱스 생성 확인
logs라는 인덱스가 생성된 것을 확인 할 수 있다.
데이터 검색
Elasticsearch의 강력한 검색 기능을 사용하여 데이터를 검색한다.
다양한 쿼리 DSL을 사용하여 복잡한 검색 조건을 설정할 수 있다.
Spring Boot와의 통합
Spring Data Elasticsearch를 사용하여 Spring Boot 애플리케이션과 통합할 수 있다.
Repository 패턴을 사용하여 데이터 액세스 로직을 분리하고 유지보수성을 높일 수 있다.
다음 글에서 SpirngBoot를 활용한 로그 데이터를 쌓는 작업을 해보자.
- 끝 -