ElasticSearch Cookbook
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
작가정보
저자 알베르토 파로(Alberto Paro)는 엔지니어, 프로젝트 매니저, 소프트웨어 개발자다. 현재 빅 데이터 테크놀로지스(Big Data Technologies) 사에서 CTO로 일하며, 빅 데이터와 NoSQL 제품 소프트웨어 엔지니어링 부문의 프리랜서 컨설팅을 하고 있다. 최근에 생겨난 솔루션과 빅 데이터 처리, NoSQL, 자연어 처리를 비롯해 신경망과 관련된 애플리케이션 연구를 좋아한다. 8살 때 신클레이어 스펙트림(Sinclair Spectrum)에서 베이직(BASIC) 프로그래밍을 시작해, 현재까지 다양한 운영체제, 애플리케이션, 프로그래밍 경험을 많이 쌓았다.
2000년에 다중 사용자와 다중 기기 웹 애플리케이션 설계 관련 학위 논문으로 폴리 테크니코 디 밀라노 대학(Politecnico di Milano) 컴퓨터과학 공학과를 졸업했고, 약 1년 동안 대학교에서 교수를 도왔다. 넷플래닛 회사(The Net Planet Company)의 혁신적인 아이디어에 큰 매력을 느낀 후 지식 관리 솔루션과 데이터 마이닝 제품 만드는 일을 시작했다. 2014년 여름, 회사가 빅 데이터 테크놀로지스 사에 인수되면서, 현재는 스칼라와 파이썬을 사용한 최신 빅 데이터 소프트웨어(스파크(Spark), 아카(Akka), 카산드라(Cassandra), 얀(YARN))를 개발하고 있다. 또한 2013년부터 빅 데이터, 기계 학습, 일래스틱서치 프리랜서 컨설팅을 시작했다.
아이들과 놀지 않는 여유 시간에는 오픈소스 프로젝트에서 개발하는 것을 좋아한다. 고등학교 시절, 그놈GNOME 환경(gtkmm)과 관련된 프로젝트에 기여했다. 그가 선호하는 프로그래밍 언어 중 하나는 파이썬이며, 몽고DB(MongoDB)에 장고(Django)를 사용해 NoSQL 백엔드(장고-몽고DB-엔진)를 처음으로 개발했다. 2010년, 장고로 전자상거래 사이트에 검색 기능을 추가하기 위해 일래스틱서치를 사용하기 시작했고, PyES(파이썬 스타일로 개발된 일래스틱서치 클라이언트)를 개발했을 뿐만 아니라 초기 일래스틱서치 몽고DB 리버를 개발했다. 저서로는 팩트출판사의 『Elasticsearch Cookbook』이 있고, 『전문 검색과 분석을 위한 Elasticsearch 서버』(에이콘, 2014)의 기술 감수를 했으며, ‘일래스틱서치를 이용한 검색 서버 개발하기Building a Search Server with ElasticSearch’ 비디오 강좌를 만들었다.
작가의 말
요즘 출시되는 애플리케이션의 주요 요구사항 중 하나는 검색 기능이다. 이런 검색 요구사항을 만족시키는 많은 솔루션을 상업용 제품이나 오픈소스 세계에서 찾을 수 있다. 검색에 많이 쓰이는 라이브러리 중 하나는 아파치 루씬(Apache Lucene)이다. 아파치 솔라(Apache Solr), 인덱스탱크(Indextank), 일래스틱서치 같은 많은 검색 솔루션은 루씬 라이브러리를 기반으로 만들어졌다.
일래스틱서치는 클라우드와 분산 컴퓨팅에 사용할 수 있게 개발됐다. Compass(http://www.compass-project.org) 개발자로 유명한 셰이 바논(Shay Banon)은 일래스틱서치의 주요 개발자며, 2010년 3월에 일래스틱서치의 첫 번째 버전을 배포했다. 일래스틱서치의 주목적은 검색 엔진이 되는 것이며, 일래스틱서치를 데이터 저장소로 사용할 수 있고, 집계를 사용해 분석 엔진으로 활용할 수 있다. 일래스틱서치에는 JSON/REST 기능, 맵(Map)/리듀스(Reduce) 접근 방식의 네이티브 분산 처리 기능, 쉬운 설치 기능, 플러그인 확장 기능 같은 획기적인 기능이 많다. 언급한 기능의 상세한 정보와 그 밖의 일래스틱서치 기능을 이 책에서 살펴볼 것이다. 일래스틱서치 이전에는 아파치 솔라가 일래스틱서치의 일부 기능을 제공했었다. 그러나 아파치 솔라는 클라우드에서 동작하도록 설계되지 않았으며, JSON/REST API는 지원하지 않았다. 최근 몇 년 동안, 2012년에 SlorCloud가 출시되면서 이 상황이 조금 변했다. 일래스틱서치와 아파치 솔라 제품을 완벽히 비교하고 싶은 사용자는 라팔 쿡이 쓴 글(http://blog.sematext.com/2012/08/23/solr-vs-elasticsearch-part-1-overview/)을 읽으면 도움이 될 것이다.
일래스틱서치는 계속 진화하는 제품이며, 일래스틱서치 회사(일래스틱서치의 상업성 지원을 제공하는 셰이 바논이 설립한 회사) 는 새로운 기능을 가진 일래스틱서치를 배포하고, 일래스틱서치 사용자는 플러그인(깃허브GitHub에서 주로 내려받을 수 있다)을 배포한다. 2012년에 설립된 일래스틱서치 회사는 총 1억 4백만 불의 자금을 조달했다. 일래스틱서치 회사의 공동 창업자이자 CEO인 스티븐 슈르만(Steven Schuurman)이 일래스틱서치의 성공을 다음과 같이 잘 표현하고 있다. '이렇게 짧은 시간에 투자자로부터 이런 지원을 받았다는 것이 믿기지 않습니다. 이것은 우리가 하고 있는 일의 중요성을 보여줍니다. 비즈니스는 사람과 기계가 만든 데이터를 계속해서 생성하고 있으며, 비즈니스가 새로운 데이터 중심의 프로젝트에서 시작하든, 현재 비즈니스에서 하둡 또는 그 밖의 빅 데이터 투자를 활용해 시도하든, 이 자산에서 가치를 얻을 수 있는 비즈니스가 전략적 목표가 됩니다.' 일래스틱서치는 검색 제품 중 괄목할 만한 실적을 내고 있으며, 5천만 개의 장소를 색인하는 포스퀘어(Foursquare)와 온라인 음악 배포 플랫폼인 SoundCloud, StumbleUpon과 천 4백만 회원을 가진 기업 소셜 네트워크 Xing 같은 고객에게 도움을 주고 있다. 또한 20테라바이트 데이터와 13억 개의 파일을 검색하는 깃허브, 로글리(Loggly)에도 도움을 주고 있다. 로글리 로그파일을 빨리 분석하기 위해, 데이터 클러스터를 색인할 수 있는 키/값 저장소로 일래스틱서치를 사용한다. 나는 일래스틱서치야말로 시장에서 나온 검색 솔루션 중 가장 강력하고, 사용하기 쉽다고 생각한다. 이 책에서 제시한 많은 예제를 통해 독자가 일래스틱서치를 관리할 수 있는 지식, 열정, 모범 사례를 전달하고자 노력했다.
목차
- 1장 시작하기
__개요
__노드와 클러스터 이해하기
__노드 서비스 이해하기
__데이터 관리하기
__클러스터, 복제, 샤딩 이해하기
__일래스틱서치로 통신하기
__HTTP 프로토콜 사용하기
__네이티브 프로토콜 사용하기
__쓰리프트 프로토콜 사용하기
2장 다운로드와 설정
__개요
__일래스틱서치 다운로드와 설치하기
__네트워크 설정하기
__노드 설정하기
__리눅스 시스템 설정하기
__노드 타입 설정하기
__일래스틱서치 플러그인 설치하기
__수동으로 플러그인 설치하기
__플러그인 삭제하기
__로깅 설정 변경하기
3장 매핑 관리
__개요
__명시적 매핑 생성 이용하기
__기본 타입 매핑하기
__배열 매핑하기
__객체 매핑하기
__도큐먼트 매핑하기
__도큐먼트 매핑에 동적 템플릿 이용하기
__중첩 객체 관리하기
__자식 도큐먼트 관리하기
__다중 매핑으로 필드 추가하기
__geo point 필드 매핑하기
__geo shape 필드 매핑하기
__IP 필드 매핑하기
__첨부 필드 매핑하기
__매핑에 메타데이터 추가하기
__그 밖의 분석기 명세하기
__completion 추천기 매핑하기
4장 기본 작업
__개요
__색인 생성하기
__색인 삭제하기
__색인 열고 닫기
__색인에 매핑 저장하기
__매핑 얻기
__매핑 삭제하기
__색인 새로 고치기
__색인 플러시하기
__색인 최적화하기
__색인 또는 타입 존재 여부 확인하기
__색인 설정 관리하기
__색인 앨리어스 사용하기
__도큐먼트 색인하기
__도큐먼트 얻기
__도큐먼트 삭제하기
__도큐먼트 변경하기
__원자적 작업 빨리 하기(벌크 작업)
__GET 작업 빨리 하기(다중 GET).
5장 검색, 질의, 필터
__개요
__검색 실행하기
__결과 정렬하기
__결과 강조하기
__scan 질의 실행하기
__올바른 질의 추천하기
__일치한 결과의 개수 계산하기
__질의로 삭제하기
__모든 도큐먼트의 일치 여부 확인하기
__하나의 키워드로 질의/필터 사용하기
__다중 키워드로 질의/필터 사용하기
__prefix 질의/필터 사용하기
__Boolean 질의/필터 사용하기
__range 질의/필터 사용하기
__span 질의 사용하기
__match 질의 사용하기
__ID 질의/필터 사용하기
__has_child 질의/필터 사용하기
__top_children 질의 사용하기
__has_parent 질의/필터 사용하기
__regexp 질의/필터 사용하기
__function score 질의 사용하기
__exists와 missing 필터 사용하기
__and/or/not 필터 사용하기
__geo bounding box 필터 사용하기
__geo polygon 필터 사용하기
__geo distance 필터 사용하기
__QueryString 질의 사용하기
__template 질의 사용하기
6장 집계
__개요
__집계 실행하기
__stats 집계 실행하기
__terms 집계 실행하기
__range 집계 실행하기
__histogram 집계 실행하기
__date histogram 집계 실행하기
__filter 집계 실행하기
__global 집계 실행하기
__geo distance 집계 실행하기
__nested 집계 실행하기
__top hit 집계 실행하기
7장 스크립트
__개요
__추가 스크립트 플러그인 설치하기
__스크립트 관리하기
__스크립트로 데이터 정렬하기
__스크립트로 리턴 필드 계산하기
__스크립트로 검색 필터링하기
__스크립트로 도큐먼트 변경하기
8장 리버
__개요
__리버 관리하기
__카우치DB 리버 사용하기
__몽고DB 리버 사용하기
__래빗MQ 리버 사용하기
__JDBC 리버 사용하기
__트위터 리버 사용하기
9장 클러스터와 노드 모니터링
__개요
__API를 이용해 클러스터 헬스 제어하기
__API를 이용해 클러스터 상태 제어하기
__API를 이용해 클러스터 노드 정보 얻기
__API를 이용해 노드 통계 얻기
__저장소 관리하기
__스냅샷 실행하기
__스냅샷 복구하기
__빅데스크 설치와 사용하기
__일래스틱서치 헤드 설치와 사용하기
__세마텍스트 SPM 설치와 사용하기
__마블 설치와 사용하기
10장 자바 통합
__개요
__HTTP 클라이언트 생성하기
__네이티브 클라이언트 생성하기
__네이티브 클라이언트를 이용해 색인 관리하기
__매핑 관리하기
__도큐먼트 관리하기
__벌크 액션 관리하기
__질의 생성하기
__기본 검색 실행하기
__집계로 검색 실행하기
__스크롤/스캔 검색 실행하기
11장 파이썬 통합
__개요
__클라이언트 생성하기
__색인 관리하기
__매핑 관리하기
__도큐먼트 관리하기
__표준 검색 실행하기
__집계로 검색 실행하기
12장 플러그인 개발
__개요
__사이트 플러그인 개발하기
__네이티브 플러그인 개발하기
__REST 플러그인 개발하기
__클러스터 액션 개발하기
__분석기 플러그인 개발하기
__리버 플러그인 개발하기
출판사 서평
★ 이 책에서 다루는 내용 ★
■ 일래스틱서치로 최고의 클라우드 토폴로지를 선택하고 플러그인으로 일래스틱서치 기능 확장
■ 색인 단계를 완벽히 제어할 수 있는 맞춤형 매핑 개발
■ 색인과 도큐먼트로 복잡한 질의 생성
■ 분석 집계를 실행한 검색 결과의 최적화
■ 원본 간 데이터를 동기화하고 전달할 수 있는 리버S(QL, NoSQL, 웹 기반) 관리
■ 주요 태스크를 실행할 수 있는 웹 인터페이스 개발
■ 클러스터와 노드 성능 모니터링
★ 이 책의 대상 독자 ★
이 책은 일래스틱서치를 시작하고 싶거나 일래스틱서치에 관한 지식을 좀 더 쌓고 싶은 사용자와 개발자를 대상으로 한다. 일래스틱서치를 이용한 모든 부분을 다루며, 일상적인 사용을 위한 해결책과 힌트를 제공한다. 예제의 복잡도를 낮춰 일래스틱서치가 다루는 내용에 집중할 수 있으며, 일래스틱서치를 쉽고 완벽하게 이해할 수 있다.
이 책의 후반부에서는 자바 및 파이썬 프로그래밍 언어와의 일래스틱서치 통합을 다루며, 사용자에게 일래스틱서치 기능을 자바와 파이썬 기반의 애플리케이션과 어떻게 통합할 수 있는지 보여준다.
12장, ‘플러그인 개발’은 일래스틱서치와 일래스틱서치 핵심 부분의 고급 기능을 다룬다. 따라서 12장을 완벽히 이해하려면 자바에 대한 사전 지식이 필요하다.
★ 이 책의 구성 ★
1장, ‘시작하기’는 일래스틱서치의 기본 개념과 일래스틱서치와의 통신 방법을 소개한다.
2장, ‘다운로드와 설정’은 일래스틱서치를 시작할 수 있는 기본 단계, 간단한 설치부터 다중 노드의 실행까지 다룬다.
3장, ‘매핑 관리’는 색인과 검색 품질을 향상할 수 있는 데이터 필드의 정확한 정의를 알아본다.
4장, ‘기본 작업’은 일래스틱서치에 데이터를 추가하고 관리하는 데 필요한 공통 작업을 살펴본다.
5장, ‘검색, 질의, 필터’는 일래스틱서치의 핵심 검색 기능을 다룬다. 검색 DSL은 일래스틱서치에 질의할 수 있는 유일한 방법이다.
6장, ‘집계’는 일래스틱서치의 또 다른 기능으로, 사용자 경험을 증대시키고, 정보를 깊이 검색하기 위해 검색 결과를 기반으로 분석할 수 있는 기능을 다룬다.
7장, ‘스크립트’는 다양한 프로그래밍 언어를 이용해 일래스틱서치를 스크립트로 사용자 정의하는 방법을 다룬다.
8장, ‘리버’는 데이터베이스, NoSQL 솔루션, 데이터 스트림 같은 여러 원본으로부터 데이터를 가져올 수 있는 기능으로 일래스틱서치를 확장한다.
9장, ‘클러스터와 노드 모니터링’은 일반적인 위험을 이해할 수 있는 클러스터와 노드의 동작을 분석하는 방법을 보여준다.
10장, ‘자바 통합’은 REST와 네이티브 프로토콜을 사용하는 자바 애플리케이션에서 일래스틱서치를 통합하는 방법을 다룬다.
11장, ‘파이썬 통합’은 공식 일래스틱서치 파이썬 클라이언트와 파이썬 스타일로 개발된 PyES 라이브러리 사용 방법을 다룬다.
12장, ‘플러그인 개발’은 다양한 플러그인 타입, 사이트 플러그인과 네이티브 플러그인을 생성하는 방법을 다룬다. 예시에서 플러그인의 뼈대를 보여주고, 개발 프로세스와 빌드 방법을 설명한다.
★ 옮긴이의 말 ★
일래스틱서치는 루씬(Lucene)을 기반으로 만들어졌지만, 복잡한 루씬 API를 쓰지 않고도 쉽게 검색할 수 있게 도와주며, 성능도 탁월합니다. 또한 주키퍼(Zookeeper) 없이 클라우드 환경에서 확장을 쉽게 할 수 있으며, 복제본replica을 지원해 저장된 데이터의 손실이 없게 도와주는 NoSQL입니다.
저는 카카오에서 일래스틱서치를 이용해 서비스를 개발했고 현재 운영하고 있습니다. 현업에서 일래스틱서치를 처음 쓰다 보니 모르는 것도 많고, 배워야 할 것이 많았습니다. 기존의 여러 일래스틱서치 책에서 도움을 받았지만, Rest API뿐 아니라 자바, 파이썬으로 개발하는 방법, 플러그인 개발 방법, 운영 관점의 책이 필요했습니다.
이 책은 DevOps의 실무적인 관점으로 일래스틱서치를 이해할 수 있는 좋은 책입니다. Rest API뿐 아니라 파이썬, 자바 API를 사용해 효율적으로 개발할 수 있는 가이드를 제공합니다. 플러그인을 개발하는 방법도 살펴볼 수 있습니다. 또한 운영 관점에서 HQ나 HEAD 같은 모니터링 플러그인의 유용성을 설명하고, 리버 플러그인을 통해 여타 NoSQL과 연동하는 방법과 플러그인 개발 방법도 다룹니다. 아키텍처와 DevOps 관점으로 일래스틱서치를 살펴볼 수 있는 책을 번역하게 되어 기쁘게 생각합니다.
이 책에서 설명하는 일래스틱서치의 버전은 1.4입니다. 일래스틱서치의 1.x 버전을 사용하는 경우, 이 책을 참조할 수 있습니다. 그러나 최근에 일래스틱서치 2.0이 배포되면서 일부 바뀐 내용이 있습니다. 이와 관련한 상세한 내용은 https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking-changes-2.0.html에서 참조할 수 있으며, 일래스틱서치의 2.0의 공식 문서는 https://www.elastic.co/guide/en/elasticsearch/guide/current/index-doc.html에서 확인할 수 있습니다.
기본정보
ISBN | 9788960778184 | ||
---|---|---|---|
발행(출시)일자 | 2016년 02월 05일 | ||
쪽수 | 544쪽 | ||
크기 |
188 * 235
* 28
mm
/ 1001 g
|
||
총권수 | 1권 | ||
시리즈명 |
acorn+PACKT 시리즈
|
||
원서명/저자명 | Elasticsearch Cookbook Second Edition/Paro, Alberto | ||
이 책의 개정정보 |
새로 출시된 개정판이 있습니다.
개정판보기
|
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립