ELASTICSEARCH

[엘라스틱서치] 1. 개념 및 설치

sejin2 2024. 3. 11. 17:26

ELASTICSEARCH 개념

: 실시간 데이터를 저장, 분석 및 검색하는 엔진

  • 아파치 루씬을 사용하여 개발
    • 루씬 : 전문 색인과 검색을 지원하는 확장 가능한 고성능 정보 검색
  • JSON 문서기반 저장 및 검색
  • ELK 스택으로 제공
    • E ( ElasticSearch ) : 데이터 저장 및 검색
    • L ( Logstach ) : 데이터 수집
      • 로그 스태시는 데이터의 입력, 변환, 출력을 실시간 파이프라인으로 처리하는 오픈 데이터 수집 엔진
      • 다양한 입력소스에서 동시에 데이터를 수집하여 변환한 후 자주 사용하는 스태시-보관소로 전송
    • K ( Kibana ) : 데이터 시각화 및 리포팅 분석

사용 사례

  • 위키피디아
    • 전문 검색 수행
    • 실시간 타이핑 검색
    • 추천 검색어 기능
  • 깃허브
    • 1300억 줄이 넘는 소스 코드를 검색하는데 사용
  • 더 가디언
    • 방문객의 로그 분석
    • 소셜 데이터 생성 및 분석으로 실시간 응대
    • 기사에 대한 반응 분석

엘라스틱 서치

doc1 ⇒ 오라클에서 user(하나의 계정)의 개념

     ⇒ 다른 관계형 DB에서 DB의 개념      → 안에 여러 개의 테이블이 있음.

주요 용어

  • 인덱스 : 명사
    • 색인된 데이터를 다큐먼트로 저장하는 장소
    • 관계형 데이터베이스에서 데이터베이스에 해당
  • 색인 : 동사
    • 원본 문서를 검색어 토큰들로 변환하여 저장
  • 데이터 구조는 인덱스, 타입, 타큐먼트 단위로 구성

구조 비교

관계형 DB 엘라스틱서치
DB 인덱스
테이블 타입
여러 행 도큐먼트
필드
스키마 매핑