본문 바로가기

E.L.K(데이터 분석)

엘라스틱서치(ElasticSearch)란?

엘라스틱 서치(ElasticSearch)는                                                                                                          

아파치 루신(Apache Lucene)을 기반으로 개발된 오픈소스 분산 검색 엔진(서버)이다.

 

( 루씬이 뭔지 간단히 알고자한다면 -> http://killsia.tistory.com/443 )

Shay Banon에 의해 개발되었으며 2010년 2월 첫 버전이 공개되었다. 

 

 

SoundCloud, Foursquare, Github 등에서 사용중이며 

최근 Wikemedia도 아파치 루신에서 엘라스틱 서치로 검색 엔진을 변경하였다.

 


 

 

 

특징

 

분산(Distributed) + 확장성

Elasticsearch는 scale horizontally(규모가 수평적으로 늘어나도록) 하게 설계되어 있기 때문에 

더 많은 용량이 필요하면 그저 노드를 추가하고 클러스터가 인식할 수 있게하여 

추가적인 하드웨어로 이용할 수 있도록 해주면 된다.   

(같은 클러스터 내에서 라면 초기설정 그대로도 노드끼리 연결이 되지만, 다른 클러스터에 있다면 설정이 필요)

 

고가용성(High availability)

Elasticsearch 는 동작중에 죽은 노드를 감지하고 삭제하며 사용자의 데이터가 안전하고 접근가능하도록 유지한다. 

즉, 동작중에 일부 노드에 문제가 생기더라도 문제없이 서비스를 제공한다. 

 

멀티 태넌시(Multi-tenancy)

클러스터는 여러개의 인덱스들을 저장하고 관리할 수 있으며, 독립된 하나의 쿼리 혹은 그룹 쿼리로 여러 인덱스의 데이터를 검색할 수 있다.

 

전문 검색(Full text search)

Elasticsearch는 강력한 전문검색을 지원한다.

 

문서 중심(Document oriented)

Store complex real world entities in Elasticsearch as structured JSON documents.  All fields are indexed by default, and all the indices can be used in a single query, to return results at breath taking speed.

Elasticsearch는  복잡한 현실세계의 요소들을 구조화된 JSON 문서 형식으로 저장한다.  모든 필드는 기본적으로 인덱싱되며, 모든 인덱스들은 단일 쿼리로 빠르게 사용할 수 있다.

 

Schema free

Elasticsearch allows you to get started easily. Toss it a JSON document and it will try to detect the data structure, index the data and make it searchable.  Later, apply your domain specific knowledge of your data to customize how your data is indexed.

JSON 문서 구조를 통해 데이터를 인덱싱하고 검색가능하게 한다. (스키마가 개념이 없다!)

그리고 사용자의 데이터가 어떻게 인덱싱 될 것인가에 대한 것은 사용자가 커스터마이징할 수 있다.

 

restful api 

HTTP를 통한 JSON형식의 간단한 RESTful API 를 제공하며 여러 다른 API도 제공된다 (Java, Javascript, Groovy, PHP, Perl, Python, Ruby 등) 

apache 2 open source license

Elasticsearch는 다운로드하여 맘껏 사용하고 변경가능하다. 가장 유연한 오픈 라이센스중 하나인 아파치 2 라이센스를 따른다. 



[출처 & 참고]
엘라스틱 서치 공식 홈페이지, overview  -  http://www.elasticsearch.org

원본 출처 : http://blog.naver.com/archinitus/80207124253