Elasticsearch란?
Java
로 작성되었으며 Java
로 작성된 검색 엔진 라이브러리인 Apache Lucene
이 기반을 둠.DB
로 사용되기도 함.기초 용어
Elasticsearch
의 데이터 단위이고, JSON
형식으로 표현된다.key
, value
의 조합이다.RDB
의Table
에 해당한다.문서 예
{
"name": "Beats",
"age" : 26,
"birthday": "1994-10-29",
"blog_url": "https://beatsbeats.hatenablog.com/",
"job": ["monk","developer"],
"favorite_song": {"title":"fav_song","created_at":"2000-01-01"}
}
Elasticsearch
가 실행되는 서버이다.특징 : 분산 구성 기능
작성한 데이터는 Shard
단위로 여러 노드에 분산되어 배치된다.
이렇게 하면 병렬 처리로 검색이 수행되고 검색 성능이 향상된다.
또한 각 샤드에 대해 복제본을 만들 수 있으며 데이터 가용성을 높일 수 있다.
REST API
에 의한 덱세스가 가능하고, 자원을 URL
로 지정해 조작내용을 HTTP Method
로 지정해 CRUD
처리를 실시할 수 있다.API
에 의해 조작이 가능하고, 따라서 외부 시스템과의 연계도 취하기 쉽다.