일래스틱서치 쿡북 3/e [170가지 단계별 레시피]
- 원서명Elasticsearch 5.x Cookbook -Thrid Edition: Over 170 advanced recipes to search, analyze, deploy, manage, and monitor data effectively with Elaticsearch 5.x (ISBN 9781786465580)
- 지은이알베르토 파로(Alberto Paro)
- 옮긴이이재익, 최중연
- ISBN : 9791161752587
- 45,000원
- 2019년 01월 31일 펴냄
- 페이퍼백 | 872쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 오픈소스 프로그래밍
판매처
개정판책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
요약
일래스틱서치를 처음 접하는 개발자나 운영자가 일래스틱서치의 전반적인 기능을 빠르게 이해할 수 있도록 구성한 책이다. 쿡북이라는 제목에서 알 수 있듯이, 각 기능의 레시피를 제공해 단계별로 쉽게 따라 할 수 있다. 이 책은 일래스틱서치에 대해 전혀 모르는 사람뿐 아니라, 플러그인 개발과 같은 중급 이상의 기능까지 다루고 있어서 이미 이를 사용해 본 개발자도 새로운 버전의 변화를 빠르게 살펴보거나 일부 잘 모르는 기능에 관해 접근하기 좋다.
원서의 경우 내용과 예제가 5.x를 기반으로 작성됐지만, 번역서에서는 일래스틱서치의 빠른 릴리즈로 최신 내용을 반영해 최근 정식 릴리즈된 6.5 버전을 기반으로 본문의 예제와 내용을 보완했다.
이 책에서 다루는 내용
■ 외부 플러그인을 올리고 배포하기 위한 최적의 일래스틱서치 클라우드 토폴로지 선택
■ 색인 단계를 완전히 제어하기 위한 맞춤형 매핑 개발
■ 색인과 도큐먼트 관리를 통한 복잡한 쿼리 작성
■ 분석 집계 실행을 통한 검색 결과의 최적화
■ 클러스터와 노드 성능 모니터링
■ 클러스터를 모니터링하기 위한 키바나 설치 및 플러그인으로 키바나 확장
■ 자바, 스칼라, 파이썬, 빅데이터 애플리케이션을 일래스틱서치와 통합
이 책의 대상 독자
일래스틱서치를 시작하면서 동시에 일래스틱서치 지식을 향상시키려는 개발자를 위한 책이다. 이 책은 일래스틱서치 사용의 모든 측면을 살펴보고 일상적인 사용을 위한 솔루션과 힌트를 제공한다. 일래스틱서치 측면에 독자가 쉽게 초점을 맞추고 일래스틱서치 기능을 쉽게 기억하기 위해 예제의 복잡성을 낮췄다.
일래스틱서치와 자바, 스칼라, 파이썬 및 빅데이터 도구 통합을 다루는 후반부에는 애플리케이션에서 일래스틱서치의 기능을 통합하는 방법을 보여준다. 플러그인 개발에 관한 장에서는 일래스틱서치의 고급 사용법과 핵심 확장을 보여주므로 숙련된 자바 노하우가 필요하다.
이 책의 구성
1장, ‘시작하기’에서는 일래스틱서치의 기본 컨셉 및 일래스틱서치와 대화하는 방법에 관한 개요를 제공한다.
2장, ‘다운로드와 설정’에서는 간단한 설치에서 클라우드 설치까지 일래스틱서치를 사용하기 위한 기본 단계를 다룬다.
3장, ‘매핑 관리’에서는 색인과 검색 품질 모두 향상시키기 위해 데이터 필드를 올바르게 정의하는 방법을 다룬다.
4장, ‘기본 작업’에서는 일래스틱서치로 데이터를 수집하기 위해 필요한 가장 일반적인 동작과 데이터를 관리하는 방법을 배운다.
5장, ‘검색’에서는 검색과 정렬을 실행하고, 이와 관련한 API 호출을 알아본다.
6장, ‘텍스트 및 수치형 쿼리’에서는 일래스틱서치 검색 기능의 핵심인 텍스트와 수치형 필드에서의 검색 DSL 부분을 다룬다.
7장, ‘관계 및 지오 쿼리’에서는 연관 도큐먼트(자식/부모)와 지리적 위치 필드에서 작동하는 쿼리를 다룬다.
8장, ‘집계’에서는 사용자 경험을 향상시키고 일래스틱서치에 담긴 정보를 드릴다운(drill down)하기 위해 검색 결과에 대한 분석을 실행할 수 있는 일래스틱서치의 또 다른 기능을 살펴본다.
9장, ‘스크립팅’에서는 스크립팅을 사용해서 일래스틱서치를 사용자 정의하고, 일래스틱서치(검색, 집계, 수집)의 다른 부분에서 다양한 언어로 스크립팅 기능을 사용하는 방법을 알려준다. 일래스틱 팀이 개발한 새 스크립팅 언어인 페인리스에 주로 초점을 맞춘다.
10장, ‘클러스터와 노드 관리’에서는 흔히 발생하는 문제의 이해를 돕기 위해 클러스터 및 노드의 동작을 분석하는 방법을 살펴본다.
11장, ‘백업 및 복구’에서는 관리에 있어서 가장 중요한 요소 중 하나인 백업을 살펴본다. 분산된 백업을 관리하고 스냅샷을 복구하는 방법도 살펴본다.
12장, ‘사용자 인터페이스’에서는 일래스틱서치 6.4에 있어 가장 일반적인 사용자 인터페이스 중 두 가지를 설명한다. 주로 관리 기능에 사용하는 세레브로(Cerebro)와 일래스틱서치의 일반적인 UI 확장으로 엑스팩(X-Pack)을 사용하는 키바나를 사용해본다.
13장, ‘인제스트’에서는 인제스트 파이프라인을 통해 일래스틱서치에 데이터를 입력하는 일래스틱서치 5.x부터 소개된 인제스트 기능에 관해 알아본다.
14장, ‘자바 통합’에서는 REST와 네이티브 프로토콜을 사용해서 자바 애플리케이션에서 일래스틱서치와 통합하는 방법을 알아본다.
15장, ‘스칼라 통합’에서는 네이티브 자바 API에 기반을 둔 발전된 타입 안전(type safe)과 풍부한 기능을 제공하는 스칼라 라이브러리인 elastic4s를 사용해서 스칼라에서 일래스틱서치와 통합하는 방법을 알아본다.
16장, ‘파이썬 통합’에서는 일래스틱서치의 공식 파이썬 클라이언트의 사용 방법을 다룬다.
17장, ‘플러그인 개발’에서는 일래스틱서치 기능을 확장하기 위해 네이티브 플러그인을 만드는 방법을 알아본다. 몇 가지 예제는 플러그인 뼈대 설정, 프로세스, 빌드 프로세스를 보여준다.
18장, ‘빅데이터 통합’에서는 아파치 스파크와 아파치 피그 같은 일반적인 빅데이터 도구에서 일래스틱서치와 통합하는 방법을 살펴본다.
목차
목차
- 1장. 시작하기
- 소개
- 노드와 클러스터 이해
- 노드 서비스 이해
- 데이터 관리
- 클러스터, 레플리케이션, 샤딩의 이해
- 일래스틱서치와 통신
- HTTP 프로토콜 사용
- 네이티브 프로토콜 사용
- 2장. 다운로드와 설정
- 소개
- 일래스틱서치 다운로드 및 설치
- 네트워킹 설정
- 노드 설정
- 리눅스 시스템을 위한 설정
- 다양한 노드 타입 설정
- 클라이언트 노드 설정
- 수집 노드 설정
- 일래스틱서치에 플러그인 설치
- 플러그인 수동 설치
- 플러그인 제거
- 로깅 설정 변경
- 도커를 통한 노드 설정
- 3장. 매핑 관리
- 소개
- 명시적 매핑 생성 사용
- 기본 타입 매핑
- 매핑 배열
- 준비
- 객체 매핑
- 도큐먼트 매핑
- 도큐먼트 매핑에서 동적 템플릿 사용
- 중첩 객체 관리
- 자식 도큐먼트 관리
- 다중 매핑으로 필드 추가
- GeoPoint 필드 매핑
- GeoShape 필드 매핑
- IP 필드 매핑
- 첨부 필드 매핑
- 매핑에 메타데이터 추가
- 다양한 분석기 지정
- 자동 완성 필드 매핑
- 4장. 기본 작업
- 소개
- 색인 생성
- 색인 삭제
- 색인 열고 닫기
- 색인에 매핑 입력
- 매핑 조회
- 색인 재생성
- 색인 새로 고침
- 색인 플러시
- 색인 강제 병합
- 색인 축소
- 색인과 타입 존재 여부 확인
- 색인 설정 관리
- 색인 앨리어스 사용
- 색인 롤오버
- 도큐먼트 색인
- 도큐먼트 조회
- 도큐먼트 삭제
- 도큐먼트 변경
- 원자성 작업 속도 향상(벌크 작업)
- GET 작업 속도 향상(다중 GET)
- 5장. 검색
- 소개
- 검색 실행
- 정렬
- 하일라이팅
- 스크롤 쿼리 실행
- search_after 기능 사용
- 결과의 inner hits 반환
- 올바른 쿼리 제안
- 일치한 결과 카운트
- explain 쿼리
- 쿼리 프로파일링
- 쿼리에 의한 삭제
- 쿼리에 의한 변경
- 전체 도큐먼트 일치
- 불리언 쿼리 사용
- 6장. 텍스트 및 수치형 퀴리
- 소개
- term 쿼리 사용
- terms 쿼리 사용
- prefix 쿼리 사용
- wildcard 쿼리 사용
- regexp 쿼리 사용
- span 쿼리 사용
- match 쿼리 사용
- query_string 쿼리 사용
- simplequerystring 쿼리 사용
- range 쿼리 사용
- common terms 쿼리
- ID 쿼리 사용
- function score 쿼리 사용
- exists 쿼리 사용
- template 쿼리 사용
- 7장. 관계 및 지오 퀴리
- 소개
- has_child 쿼리 사용
- has_parent 쿼리 사용
- nested 쿼리 사용
- geoboundingbox 쿼리 사용
- geo_polygon 쿼리 사용
- geo_distance 쿼리 사용
- geodistancerange 쿼리 사용
- 8장. 집계
- 소개
- 집계 실행
- stats 집계 실행
- terms 집계 실행
- significant_terms 집계 실행
- range 집계 실행
- histogram 집계 실행
- date_histogram 집계 실행
- filter 집계 실행
- filters 집계 실행
- global 집계 실행
- geo_distance 집계 실행
- children 집계 실행
- nested 집계 실행
- top_hits 집계 실행
- matrix_stats 집계 실행
- geo_bounds 집계 실행
- geo_centroid 집계 실행
- 9장. 스크립팅
- 소개
- 페인리스 스크립팅
- 추가 스크립트 플러그인 설치
- 스크립트 관리
- 스크립트를 사용한 데이터 정렬
- 스크립팅으로 반환 필드 계산
- 스크립팅을 통한 검색 필터링
- 집계에 스크립팅 사용
- 스크립트를 사용한 도큐먼트 업데이트
- 스크립트로 재색인
- 10장. 클러스터와 노드 관리
- 소개
- API를 통한 클러스터 헬스 제어
- API를 통한 클러스터 상태 제어
- API를 통해 노드 정보 얻기
- API를 통해 노드 통계 가져오기
- 태스크 관리 API 사용
- 핫 스레드 API
- 샤드 할당 관리
- 세그먼트 API로 세그먼트 모니터링
- 캐시 정리
- 11장. 백업 및 복구
- 소개
- 저장소 관리
- 스냅샷 실행
- 스냅샷 복구
- 백업용 NFS 공유 설정
- 원격 클러스터에서 재색인
- 12장. 사용자 인터페이스
- 소개
- 세레브로 설치 및 사용
- 키바나와 엑스팩 설치
- 키바나 대시보드 관리
- 키바나로 모니터링
- 키바나 개발 콘솔 사용
- 키바나로 데이터 시각화
- 키바나 플러그인 설치
- 키바나로 그래프 생성
- 13장. 인제스트
- 소개
- 파이프라인 정의
- 인제스트 파이프라인 넣기
- 인제스트 파이프라인 가져오기
- 인제스트 파이프라인 삭제
- 인제스트 파이프라인 시뮬레이션
- 내장 프로세서
- 그락 프로세서
- 인제스트 첨부 플러그인 사용
- 인제스트 GeoIP 플러그인 사용
- 14장. 자바 통합
- 소개
- 표준 자바 HTTP 클라언트 생성
- HTTP 일래스틱서치 클라이언트 생성
- 네이티브 클라이언트 생성
- 네이티브 클라이언트로 색인 관리
- 매핑 관리
- 문서 관리
- 벌크 작업 관리
- 쿼리 작성
- 표준 검색 실행
- 집계와 함께 검색 실행
- 스크롤 검색 실행
- 15장. 스칼라 통합
- 소개
- 스칼라로 클라이언트 생성
- 색인 관리
- 매핑 관리
- 도큐먼트 관리
- 표준 검색 실행
- 집계와 함께 검색 실행
- 16장. 파이썬 통합
- 소개
- 클라이언트 생성
- 색인 관리
- 매핑을 포함한 mappings 관리
- 도큐먼트 관리
- 표준 검색 실행
- 집계와 함께 검색 실행
- 17장. 플러그인 개발
- 소개
- 플러그인 만들기
- 분석기 플러그인 만들기
- REST 플러그인 만들기
- 클러스터 액션 만들기
- 인제스트 플러그인 만들기
- 18장. 빅데이터 통합
- 소개
- 아파치 스파크 설치
- 아파치 스파크를 통한 데이터 색인
- 아파치 스파크를 통한 메타데이터 색인
- 아파치 스파크로 데이터 읽기
- SparkSQL을 사용해 데이터 읽기
- 아파치 피그로 데이터 색인