Project1. 엘라스틱서치 개념

정선용·2021년 10월 4일
0

Project1

목록 보기
2/3

ElasticSearch

공식문서 )

1.1.1 Elasticsearch

: 오픈소스 검색엔진 솔루션.

Apache Lucene기반(라이브러리), 대용량처리가 가능하고 설치 구성이 용이

-검색질의

  • Document : 단일 데이터 단위
  • Index : document 집합
  • Indexing : 데이터 유입 시 진행 프로세스.(검색/통계를 위한 document확보)
    • Analysis : 인덱싱 과정 중, 검색어추출위한 프로세스
      • CharacterFilter 불필요한 데이터 삭제, 변경 등 입력된 원본 데이터를 분석에 필요한 형태로 변환.
      • Tokenizer 검색의 기초 데이터로 사용하기 위해 필요로 하는 키워드 데이터로 분리
      • TokenFilter 토크나이저작업 시 발생 불필요한 데이터를 삭제하거나, 영문인 경우 모두 소문자로 변경하는 등 필요 중요 데이터만 남기고 분석 작업 종료.
  • 통계질의

  • keyword : sorting, 통계질의에 대한 답변 data형식(이 답변 data는 doc_value에 저장)

  • doc_value : 엘라스텍서치에서 사용하는 기본 캐시, 효율적인 메모리 관리를 위해 적재된 document 인덱싱 하는 대신 인덱스 데이터와 함께 디스크에 저장. 데이터는 column-oriented

  • 신속성 : document집합인 index가 샤드(Shard)단위로 분리.

    각 노드에 분산저장. : 분산시스템처럼 활용됨.
    
    Shard 단위 분산된 데이터 기준으로 답변.

기본 개념 및 특징

Elasticsearch 기본 개념 및 특징 정리

Elastic Search 개념 /Wanna Be 컴잘알

환경 설정

elasticsearch.yml

cluster.name

cluster.node

node.attr

path.data ***색인 데이터 저장 경로 지정

path.logs

network.host *** 서버 IP

http.port

transport.port

discovery.seed_hosts *** 클러스터 구성 바인딩할 원격 노드 IP 또는 도메인 주소를 배열 형태로 입력.

cluster.initial_master_nodes *** 클러스터가 최초 실행 시 명시된 노드들을 대상으로 마스터 노드를 선출.

Elastic Search REST API

  • Unix
    • curl method

    • bulk API : JSON형태 ***

      _bulk 명령 실행
      POST _bulk
      {"index":{"_index":"test", "_id":"1"}}
      {"field":"value one"}
      {"index":{"_index":"test", "_id":"2"}}
      {"field":"value two"}
      {"delete":{"_index":"test", "_id":"2"}}
      {"create":{"_index":"test", "_id":"3"}}
      {"field":"value three"}
      {"update":{"_index":"test", "_id":"1"}}
      {"doc":{"field":"value two"}}
profile
정선용

0개의 댓글

관련 채용 정보