[여기에 번역된 내용은 http://www.elastic.co/guide/en/elasticsearch/reference/current/index.html 에 있는 Elastic Search Documentation을 번역한 것이다. 원문 내용을 살펴보려면 위의 홈페이지를 방문하기 바란다.]
Elasticsearch는 full-text 검색과 분석을 위한 엔진으로써, 확장성이 뛰어난 오픈 소스이다. Elasticsearch를 이용해 거대한 데이터를 빠르게, 거의 준 실시간으로 저장(store), 검색(search), 분석(analyze)할 수 있다. 일반적으로 elasticsearch는 복잡한 검색 기능이나 요구사항을 가진 application에서 핵심 엔진이나 기술로 사용된다.
Elasticsearch를 사용하는 몇가지 use-case 예제가 있다.
- 여러분은 여러분이 팔고자 하는 상품에 대해서 고객들이 검색할 수 있는 기능을 가진 online web store를 운영 중이다. 이 경우에, 전체 제품 카탈로그를 저장하는데 elasticsearch를 사용하여 고객들에게 검색과 자동완성 기능을 제공할 수 있다.
- 로그나 트랜잭션 데이터를 수집하거나 데이터를 분석하고, 트렌트, 통계, 요약, 변칙성을 살펴보기 위해 정리하고자 할 때가 있다. 이 경우, 데이터 수집, 취합, 파싱하는데 logstash를 사용할 수 있다. (ELK Stack의 일부분이다.) logstash는 데이터를 elasticsearch로 밀어 넣는다. 일단 elasticsearch에 있는 데이터는 관심 있는 어떤 분야의 정보라도 검색하고 정리하여 취합할 수 있다.
- 여러분은 싼 가격에 물건을 사고자 하는 고객이 "나는 특정 전자 장치를 사고 싶어. 다음 달 안에 X달러 아래로 값이 떨어지면 어떤 회사의 제품이라도 나에게 알려줬으면 좋겠어"라는 룰을 등록한 가격 알림 플랫폼 (price alerting platform) 을 운영 중이다. 이러한 겨우에 여러분은 vendor의 가격을 스크랩하여 elasticsearch로 넣고, 고객이 쿼리하는 것과는 반대로 가격의 이동에 매치되는 reverse-search (Percolator) 기능을 사용할 수 있다. 매칭 결과가 발견되면 고객에게 alert를 push할 수 있다.
- 여러분은 analytics/business-intelligence 요구 사항이 있어서 많은 데이터(수백만 ~ 수십억 건의 레코드)를 빠르게 검사하고, 분석하여, 보여주고, 즉시 의문 사항을 질의하고 싶어할 수도 있다. 이런 경우에, 데이터를 저장하기 위해서 elasticsearch를 사용할 수 있다. 그리고 Kibana(ELK Stack의 일부분)를 사용하여 custom dashboard를 생성하고 데이터를 여러분에게 중요한 측면에서 보여줄 수 있다. 추가적으로, 데이터에 대한 복잡한 business intelligence query를 수행하기 위해 elasticsearch aggregation 기능을 이용할 수도 있다.
이 tutorial의 나머지 부분에서 elasticsearch의 시작, 실행 과정을 통해 elasticsearch의 내부를 엿보고 데이터 indexing, searching, modifying과 같은 기본적인 operation을 수행하는 것을 가이드할 것이다. 이 tutorial의 마지막 부분에서는 elasticsearch가 무엇인지, 어떻게 동작하는지에 대한 훌륭한 아이디어를 가질 수 있을 것이다. 그리고 바라건데, 어떻게 elasticsearch를 사용하여 검색 application을 만들거나 intelligence 요건에 맞도록 데이터를 정리할 수 있는지에 대한 영감을 얻기를 바란다.
댓글을 달아 주세요
댓글 RSS 주소 : http://www.yongbi.net/rss/comment/685