일래스틱서치 쿡북 4/e [효과적 데이터 검색과 분석을 위한 100가지 단계별 레시피]
- 원서명Elasticsearch 7.0 Cookbook: Over 100 recipes for fast, scalable, and reliable search for your enterprise, 4th Edition (ISBN 9781789956504)
- 지은이알베르토 파로(Alberto Paro)
- 옮긴이이준호
- ISBN : 9791161756783
- 50,000원
- 2022년 08월 31일 펴냄
- 페이퍼백 | 940쪽 | 188*235mm
- 시리즈 : 오픈소스 프로그래밍
책 소개
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
https://github.com/AcornPublishing/elastic-4e
요약
일래스틱서치는 루씬 기반의 분산 검색 서버로 사용자들이 페타바이트 규모의 비정형 데이터를 색인하고 검색할 수 있다. 이 책은 일래스틱서치의 기능과 복잡한 쿼리와 분석을 작성하고 실행할 수 있는 유용한 레시피를 제공한다. 이 책을 통해 일래스틱서치 노드를 배포하고 다른 도구들을 통합하며 다양한 시각화를 작성하는 일상적이고 비일상적인 작업을 수행 가능한 빠른 테크닉과 수많은 솔루션에 익숙해질 수 있다. 또한 자바, 스칼라, 파이썬과 아파치 스파크와 피그와 같은 빅데이터 애플리케이션과 일래스틱서치를 통합해 향상된 기능과 사용자 정의 플러그인으로 강화된 효율적인 데이터 애플리케이션을 생성할 수 있다.
* 이 책은 오픈소스로 제공하는 마지막 버전 Elasticsearch 7.0으로 진행하고 있습니다.
이 책에서 다루는 내용
◆ 일래스틱서치로 효율적인 아키텍처 생성
◆ 분석 집계로 검색 결과 최적화
◆ 색인과 문서를 관리해 복합 쿼리 작성
◆ 클러스터와 노드 성능 모니터링
◆ 색인 단계의 제어를 위한 고급 매핑 설계
◆ 자바, 스칼라, 파이썬과 빅데이터 애플리케이션, 일래스틱서치 통합
◆ 클러스터 모니터링을 위한 키바나 설치 및 플러그인으로 확장
이 책의 대상 독자
소프트웨어 엔지니어, 빅데이터 인프라 엔지니어, 일래스틱서치 개발자에게 유익한 책이다. 더 나은 비즈니스 의사결정에 대한 깊은 통찰력을 얻고자 메트릭 진화와 검색 분석에 일래스틱서치를 사용하는 전자상거래 회사, 그리고 FMCG 회사에서 일하는 데이터 전문가에게도 도움이 된다.
이 책의 구성
1장, ‘시작하기’에서는 일래스틱서치를 이용해 클라우드에 간단하게 설치하는 기초적인 단계와 여러 설치 케이스를 다룬다.
2장, ‘매핑 관리’에서는 색인과 검색 품질을 향상시키기 위한 올바른 데이터 필드 정의를 다룬다.
3장, ‘기본 작업’에서는 일래스틱서치에 데이터를 적재하고 관리하는 데 필요한 가장 일반적인 작업을 설명한다.
4장, ‘검색 기능 탐색’에서는 검색, 정렬 실행, 연관 API 호출을 설명하고 필수적인 API를 다룬다.
5장, ‘텍스트와 수치 쿼리’에서는 텍스트와 수치 필드의 검색 DSL 부분(일래스틱서치 기능의 핵심)을 설명한다.
6장, ‘관계 및 지리 정보 쿼리’에서는 관계 문서(자식/부모와 중첩)와 지리 정보 필드로 작업하는 쿼리를 설명한다.
7장, ‘집계’에서는 일래스틱서치의 다른 가능성을 다룬다. 이는 일래스틱서치에 포함된 정보를 요약하고 사용자 경험을 향상시키도록 검색 결과에 분석을 실행하는 것이다.
8장, ‘일래스틱서치 스크립팅’에서는 다른 언어를 사용해 일래스틱서치의 다양한 부분의 스크립트 기능(검색, 집계, 적재) 사용법과 스크립트로 일래스틱서치를 사용자 정의하는 방법을 설명한다. 여기에서는 주로 페인리스(Painless)에 집중한다. 페인리스는 일래스틱서치 팀이 개발한 신규 스크립트 언어다.
9장, ‘클러스터 관리’에서는 일반적인 함정을 이해하도록 클러스터/노드의 동작을 분석하는 방법을 보여준다.
10장, ‘데이터 백업과 복원’에서는 데이터를 관리하는 가장 중요한 컴포넌트(백업)를 다루는데, 분산된 백업과 스냅샷의 복원 관리 방법을 설명한다.
11장, ‘사용자 인터페이스’에서는 일래스틱서치 5.x의 가장 일반적인 사용자 인터페이스 중 두 가지인 관리자 작업을 위해 주로 사용되는 세레브로(Cerebro)와 일래스틱서치의 일반 UI 확장으로 X-Pack을 사용하는 키바나(Kibana)를 설명한다.
12장, ‘적재 모듈 사용’에서는 적재 파이프라인으로 일래스틱서치에 데이터를 넣는 적재 기능을 설명한다.
13장, ‘자바 통합’에서는 REST와 네이티브 프로토콜을 이용한 자바 애플리케이션에서 일래스틱서치를 통합하는 방법을 설명한다.
14장, ‘스칼라 통합’에서는 elastic4s를 이용해 스칼라에 일래스틱서치를 통합하는 방법을 설명한다. elastic4s는 네이티브 자바 API에 기반을 둔 타입 안전하고 기능이 많은 고급 스칼라 라이브러리다.
15장, ‘파이썬 통합’에서는 공식 일래스틱서치 파이썬 클라이언트의 사용법을 다룬다.
16장, ‘플러그인 개발’에서는 일래스틱서치 기능을 확장하는 네이티브 플러그인을 작성하는 방법을 설명한다. 일부 예시는 플러그인 뼈대, 설치 절차, 빌드를 보여준다.
17장, ‘빅데이터 통합’에서는 아파치 스파크와 아파치 피그 같은 일반적인 빅데이터 도구에 일래스틱서치를 통합하는 방법을 다룬다.
목차
목차
- 1장. 시작하기
- 기술적 요구 사항
- 일래스틱서치 다운로드와 설치
- 네트워크 설정
- 노드 설정
- 리눅스 시스템 설정
- 서로 다른 노드 유형 설정
- 코디네이터 노드 설정
- 적재 노드 설정
- 일래스틱서치 플러그인 설치
- 플러그인 제거
- 로그 설정 변경
- 도커로 노드 설정
- 일래스틱 클라우드 엔터프라이즈에 배포
- 2장. 매핑 관리
- 명시적인 매핑 생성 사용
- 기본 유형 매핑
- 배열 매핑
- 객체 매핑
- 문서 매핑
- 문서 매핑에 동적 템플릿 사용
- 중첩된 객체 매핑
- 조인 필드로 하위 문서 관리
- 다중 매핑을 가진 필드 추가
- GeoPoint 필드 매핑
- GeoShape 필드 매핑
- IP 필드 매핑
- 별칭 필드 매핑
- 퍼콜레이터(여과) 필드 매핑
- 피처 및 피처 벡터 필드 매핑
- 매칭에 메타데이터 추가
- 다른 분석기 지정
- 완성 필드 매핑
- 3장. 기본 작업
- 색인 생성
- 색인 삭제
- 색인 열기 또는 닫기
- 색인에 매핑 집어넣기
- 매핑 가져오기
- 색인 재색인
- 색인 새로 고침
- 색인 청소
- 색인 강제 병합
- 색인 축소
- 색인 존재 확인
- 색인 설정 관리
- 색인 별칭 사용
- 색인 롤링
- 문서 색인
- 문서 가져오기
- 문서 삭제
- 문서 갱신
- 단위 작업 속도 올리기(벌크 작업)
- GET 작업 속도 올리기(다중 GET)
- 4장. 검색 기능 탐색
- 기술적 요구 사항
- 검색 실행
- 결과 정렬
- 결과 강조
- 스크롤 쿼리 실행
- search_after 기능 사용
- 결과에서 내부 히트 결과 반환
- 올바른 쿼리 추천
- 일치된 결과 개수 계산
- 쿼리 설명
- 쿼리 프로파일링
- 쿼리로 삭제
- 쿼리로 갱신
- 모든 문서 매칭
- 불리언 쿼리 사용
- 검색 템플릿 사용
- 5장. 텍스트와 숫자 쿼리
- 용어 쿼리 사용
- 다중 용어 쿼리 사용
- 접두어 쿼리 사용
- 와일드카드 쿼리 사용
- 정규식 쿼리 사용
- span 쿼리 사용
- 일치 쿼리 사용
- 쿼리 문자열 쿼리 사용
- 단순 쿼리 문자열 쿼리 사용
- 범위 쿼리 실행
- 공통 용어 쿼리
- ID 쿼리 사용
- 함수 점수 쿼리 실행
- exists 쿼리 사용
- 6장. 관계 및 지리 정보 쿼리
- has_child 쿼리 사용
- has_parent 쿼리 사용
- 중첩 쿼리 사용
- geoboundingbox 쿼리 사용
- geo_polygon 쿼리 사용
- geo_distance 쿼리 사용
- 7장. 집계
- 집계 실행
- 참고 사항
- 통계 집계 실행
- 용어 집계 실행
- 중요 용어 집계 실행
- 범위 집계 실행
- 히스토그램 집계 실행
- 날짜 히스토그램 집계 실행
- 필터 집계 실행
- 다중 필터 집계 실행
- 전역 집계 실행
- 지리적 거리 집계 실행
- 자식 집계 실행
- 중첩 집계 실행
- 최고 조회수 집계 실행
- 행렬 통계 집계 실행
- 지리적 경계 집계 실행
- 지리적 중심지 집계 실행
- 파이프라인 집계 실행
- 페인리스 스크립트
- 추가 스크립트 플러그인 설치
- 스크립트 관리
- 스크립트로 데이터 정렬
- 스크립트로 결과 필드 계산
- 스크립트로 검색 정렬
- 집계에 스크립트 사용
- 스크립트로 문서 갱신
- 스크립트로 재색인
- API로 클러스터 정상 여부 제어
- API로 클러스터 상태 제어
- API로 클러스터 노드 정보 얻기
- API로 노드 통계 얻기
- 작업 관리 API 사용
- 핫 스레드 API 사용
- 샤드 할당 관리
- 세그먼트 API로 세그먼트 모니터링
- 캐시 정리
- 저장소 관리
- 스냅샷 실행
- 스냅샷 복원
- 백업을 위해 NFS 공유 설정
- 원격 클러스터에서 재색인
- 세레브로 설치와 사용
- 일래스틱서치 HQ 설치와 사용
- 키바나 설치
- 키바나 검색 관리
- 키바나로 데이터 시각화
- 키바나 개발 도구 사용
- 파이프라인 정의
- 적재 파이프라인 배포
- 적재 파이프라인 얻기
- 적재 파이프라인 제거
- 적재 파이프라인 시뮬레이션
- 내장형 처리기
- Grok 처리기
- 첨부 적재 플러그인 사용
- 적재 GeoIP 플러그인 사용
- 표준 자바 HTTP 클라이언트 작성
- HTTP 일래스틱서치 클라이언트 작성
- 고수준 REST 클라이언트 작성
- 색인 관리
- 매핑 관리
- 문서 관리
- 대규모 작업 관리
- 쿼리 생성
- 표준 검색 실행
- 집계 검색 수행
- 스크롤 검색 실행
- DeepLearning4j로 통합
- 스칼라로 클라이언트 생성
- 색인 관리
- 매핑 관리
- 문서 관리
- 표준 검색 실행
- 집계 검색 실행기
- DeepLearning.scala로 통합
- 클라이언트 생성
- 색인 관리
- 매핑을 포함한 매핑 관리
- 문서 관리
- 표준 검색 실행
- 집계 검색 실행
- 넘파이와 사이킷런으로 통합
- 플러그인 작성
- 분석기 플러그인 작성
- REST 플러그인 작성
- 클러스터 작업 작성
- 적재 플러그인 작성
- 아파치 스파크 설치
- 아파치 스파크 활용 데이터 색인
- 아파치 스파크 활용 메타데이터 포함 데이터 색인
- 아파치 스파크로 데이터 읽기
- 스파크 SQL로 데이터 읽기
- 아파치 피그 활용 데이터 색인
- 알파카로 일래스틱서치 사용
- 몽고DB로 일래스틱서치 사용
도서 오류 신고
정오표
정오표
[p.45 : 4행]
위헤
->
위해
[p.122 : 3행]
그들을
->
그것들을
[p.154 : 4행]
nam과
->
name과
[p.707 : 3행]
시용할
->
사용할
[p.809 : 1행]
자바로
->
스칼라로