ElasticSearch 3

[Elasticsearch] Data Indexing, Searching By Query

Elasticsearch는 관계형 데이터베이스와 다르게 쿼리(Query)와 필터(Filter)를 통해 데이터를 인덱싱 및 서칭 합니다. 쿼리와 필터는 모두 JSON형식으로 구현하며 이 QueryDSL(Domain Specific Language)라고 합니다. 쿼리와 필터는 각각 독립적인 요소로 실행되는데 이들에 대해 상세하게 설명드리도록 하겠습니다. 기본적인 형태소 분석 과정에 대해 설명드리자면, 대문자를 모두 소문자로 변환하고 중복 단어를 제거 후 분석 과정을 거치게 됩니다. 이러한 과정을 거치고 저장된 토큰을 텀(term)이라고 합니다. 이제 쿼리에 대해 하나씩 예시 코드와 함께 설명드리겠습니다. Indexing IndexQuery Indexing: 데이터를 검색될 수 있는 토큰으로 변환하기 위해 원..

[Elasticsearch] Elasticsearch란 무엇이고 왜 사용하는가

Elasticsearch는 Apache Lucene 기반의 검색 엔진입니다. HTTP 웹 인터페이스와 스키마에서 자유로운 Json 문서와 함께 멀티테넌트 지원 전문 검색 엔진을 제공합니다. 더불어, 자바 기반의 오픈 소스이지만, 클라이언트는 수많은 언어(Java, C#, PHP, Python..)로 이용이 가능합니다. Apache Lucene 특징 자바 언어로 개발 사용자 위치 정보 이용 가능 다국어 검색 지원 자동 완성, 미리 보기 지원 철자 수정 기능 지원 Elasticsearch 특징 분산 시스템 여러 개의 node로 구성되는 분산 시스템 기존 node에서 새 node를 실행하여 연결하는 것만으로 확장 가능 data는 각 node에 분산하여 저장 복사본(replica)을 유지하여 각종 충돌로부터 n..

[Docker] Docker-Compose를 사용하여 Springboot와 ELK stack 연동

ELK에 대해 간단하게 설명드리고 springboot와 elk stack을 연동해서 springboot 애플리케이션의 log를 수집하고, 검색 및 시각화하는 과정에 대해서 보여드리겠습니다. ELK Stack Logstash 다양한 소스(DB)의 로그 또는 트랜잭션 데이터를 수집, 집계, 파싱하여 ES에게 전달 ElasticSearch Logstash로부터 받은 데이터를 검색 및 집계하여 필요한 관심 있는 정보 획득 Kibana Elasticsearch의 빠른 검색을 통해 데이터를 시각화 및 모니터링 우선 elk stack을 연동하기 위해 elk 관련 image를 다운로드 받아야 합니다. (호환성을 위해 elk 버전 일치 시켰습니다) docker pull elasticsearch:8.3.3 docker p..

DevOps/Docker 2023.09.04