Search
Duplicate

Elastic search getting Started

태그
Elastic Search
공개여부
작성일자
2021/01/05
저도 드디어 Elastic search 를 다뤄볼 일이 생겼네요
들어가기에 앞서 간단히 검색에 대한 개념과 정의를 구분 해야겠습니다

Search Engine

정보를 수집해 검색 결과를 제공하는 프로그램
MySQL 이나 MongoDB 는 Database 라고 하는데 Elastic Search는 Engine 이다
Search engine 은 book 의 index 같은 것인데 내가 가지고 있는 모든 book 에 대한 index 를 수집해 둔 것이라 볼 수 있다.

구성요소

1.
검색엔진
정보를 수집해 검색 결과를 제공하는 프로그램
2.
검색 시스템
검색 결과를 제공하기 위해 검색엔진을 기반으로 구축된 시스템을 통칭
3.
검색 서비스
검색엔진을 기반으로 구축한 검색 시스템을 활용해 검색 결과를 서비스로 제공한다.
수집기, Storage, 색인기, 검색기로 구성되어 있다.

RDB 와 차이점

MySQL 에서도 되는데 왜 굳이 Elastic Search 를 선택할까? 차이점은 무엇일까?
elastic search 와 RDB 비교
Elastic search
RDB
Shard
Open
Partition
Type
Open
table
document
Open
row
field
Open
column
mapping
Open
schema
Query DSL
Open
SQL
RDB
DB 는 데이터를 통합 관리한다
저장 방식에 따라 관계형 또는 계층형 DB로 나뉜다.
RDB 는 SQL문을 이용해 text matching 으로 원하는 정보를 검색한다.
검색엔진
검색 엔진은 비정형 데이터를 색인하고 검색할 수 있다.
형태소 분석을 통해 사람이 구사하는 자연어의 처리가 가능해진다
역색인 구조를 바탕으로 빠른 검색 속도를 보장한다.
추가, 검색, 삭제, 수정기능 비교
Elastic search 에서 사용하는 HTTP
기능
DB 문법
GET
Open
데이터 조회
select
PUT
Open
생성
insert
POST
Open
인덱스 없데이트, 데이터 조회
update, select
DELETE
Open
데이터 삭제
delete
HEAD
Open
인덱스 정보 확인
-
TOP