기본 콘텐츠로 건너뛰기

ElasticSearch 7.2 맛보기

ElasticSearch 7.2

  • 검색 서비스 > 검색시스템 > 검색엔진
  • ElasticSearch는 검색엔진에 속함
  • 많은사용자들이 ELK (ElasticSearch, Logstash, Kibana) 라 부름
  • 최소 3개 이상의 물리적 노드로 클러스터를 구축하는것이 좋음
  • 역색인을 통한 검색
  • Apache Lucene 을 사용
  • 트랜잭션과 롤백기능을 제공하지 않음
  • 실시간 검색이 아닌 준 실시간

Elasticsearch 맛보기

  • Restful API를 사용하기 때문에 CRUD를 PUT(C),GET(R),POST(U,R),DELETE(D) 를 이용
  • Index : Database , Document : Table , Field : Column , ex) Type 은 7.0버전부터 없어짐
  • Shard(샤드) : 물리적인 노드 공간에 여러개의 파티션으로 나뉘어 구성, 파티션이 샤드
  • Index : 데이터 저장공간, 물리적 노드 하나에 논리적인 인덱스를 다수 생성가능, 생성시 소문자로만 구성 가능
  • Indices API : 인덱스관리
  • Document : 데이터가 저장되는 최소 단위, 다수의 Field로 구성
  • Field : 하나의 필드에 다수의 필드부여 가능
  • Document API : 문서의 추가/ 수정/ 삭제
  • Search API : 문서 조회
    • HTTP URI 방식의 문서 조회 ( Parameter )
    • Request Body 방식의 검색 질의 ( JSON 형식 )
  • Aggregation API : 문서 통계
    • Bucket Aggregation
    • Metric Aggregation
    • Matrix Aggregation
    • Pipeline Aggregation
  1. 엘라스틱서치 분석기
    1. 문장을 특정한 규칙에 의해 수정
    2. 수정한 문장을 개별 토큰으로 분리
    3. 개별 토큰을 특정한 규칙에 의해 변경
  • 분석기를 사용하기 위해서는 Analayzer 필드 수정
  • 대표적으로 Standard , Whitespace, Keyword 분석기 등이 있음
  • 데이터 구조 설계와 매핑 부분이 중요
  • 쿼리는 중요도로 부터 검색을 함
  • 필터는 where 에 의한 검색, 캐싱이 됨
  • 완전삭제를 위해서는 force merge를 해야 리소스 사용량을 줄일 수 있음

참고자료

댓글

이 블로그의 인기 게시물

블록체인 거래소 모니터링시스템 구축이야기(2/?) - 서버 아키텍처

  코인 거래소 모니터링시스템 구축이야기(2/?) 코인 거래소 모니터링 시스템 구축 (가칭 : 김프멈춰) 서버 구성 사용자가 확인할 서비스 페이지, 데이터 저장소에 대한 서버는 NAS 서버로 운영 일일 Data 크롤링 서버는 Cloud 서버 이용하여 운영 - 서비스페이지 및 데이터 저장소 (Nas 서버) : Docker container ubuntu 20.04 - 일일 크롤링 서버 (Cloud at Cost Cloud 서버) : CentOS 7 서버 아키텍처 서버 아키텍처 레퍼런스 빗썸 : https://apidocs.bithumb.com/ 업비트 : https://docs.upbit.com/ 홍콩 Bitfinex : https://docs.bitfinex.com/docs 몽고 DB 설치 : https://coterie.tistory.com/20 1. 개요 :  https://limdh3325.blogspot.com/2021/04/1.html 2. 서버 아키텍처 :  https://limdh3325.blogspot.com/2021/04/2.html 3. MongoDB 설치 :  https://limdh3325.blogspot.com/2021/04/3.html 4. 데이터 모델링 :  https://limdh3325.blogspot.com/2021/05/4.html 5. MongoDB 저장 :  https://limdh3325.blogspot.com/2021/06/5.html