엘라스틱서치 바이블
2023년 09월 25일 출간
국내도서 : 2023년 06월 29일 출간
- eBook 상품 정보
- 파일 정보 PDF (13.41MB)
- ISBN 9791158394691
- 지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
-
교보eBook App
듣기(TTS) 불가능
TTS 란?텍스트를 음성으로 읽어주는 기술입니다.
- 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를 읽을 수 있습니다.
- 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
PDF 필기가능 (Android, iOS)

쿠폰적용가 25,200원
10% 할인 | 5%P 적립이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.
카드&결제 혜택
- 5만원 이상 구매 시 추가 2,000P
- 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
- 리뷰 작성 시, e교환권 추가 최대 200원
작품소개
이 상품이 속한 분야
엘라스틱서치 입문자부터 경험이 있는 실무자까지 다양한 분들에게 도움이 될 수 있도록 다양한 내용을 넓고 깊게 담았다. 엘라스틱서치 1 버전 시절부터 시작해 최신 버전까지 전부 겪으며 오랜 기간 수많은 엘라스틱서치 클러스터를 운영하고 서비스를 개발하며 얻은 실무 경험을 녹였다.
엘라스틱서치를 처음 접하는 분들도 이 책을 읽고 나면 엘라스틱서치의 특성에 맞는 적절한 데이터 설계와 서비스 설계 위에 엘라스틱서치를 도입해 실무 운영 및 장애 대응까지 프로덕션 수준에서 가능하도록 내용을 구성했다. 엘라스틱서치 운영 경험이 있는 분들이라면 커스텀 플러그인을 개발하거나 엘라스틱서치 소스코드를 직접 수정해 엘라스틱서치를 원하는 방향으로 커스터마이징도 할 수 있도록 깊은 내용까지 다룬다.
★ 이 책에서 다루는 내용 ★
◎ 엘라스틱서치의 주요 특성과 동작 이해
◎ 인덱스와 샤드 설계
◎ 클러스터 운영 전략과 노하우
◎ 장애 징후 탐지를 위한 모니터링
◎ 운영 도중 자주 발생하는 장애 유형과 대응 방법
◎ 원활한 장애 복구를 위한 서비스 구조 설계와 샤드 복구 전략
◎ 통신 채널 암호화와 인증, 권한 분리 적용
◎ 엘라스틱서치의 분산 처리 과정과 동시성 제어
◎ 엘라스틱서치와 루씬의 검색 동작 흐름과 매칭, 스코어링 과정 상세
◎ 캐시 동작 상세
◎ 체크포인트와 샤드 복구 과정
◎ 커스텀 플러그인 개발과 엘라스틱서치 커스터마이징
◎ 엘라스틱서치 소스 코드 분석
◎ 위험한 액션 차단 및 변조
◎ 엘라스틱서치 데이터 변경분을 카프카로 발급
1.1 엘라스틱서치의 기본 콘셉트
1.2 라이선스 정책
1.3 실습 환경 구축
__1.3.1 엘라스틱서치 설치
__1.3.2 키바나 설치
__1.3.3 샘플 데이터 적재
__1.3.4 Cerebro 설치
▣ 02장: 엘라스틱서치 기본 동작과 구조
2.1 엘라스틱서치 기본 동작 빠르게 둘러보기
__2.1.1 문서 색인
__2.1.2 문서 조회
__2.1.3 문서 업데이트
__2.1.4 문서 검색
__2.1.5 문서 삭제
2.2 엘라스틱서치 구조 개괄
2.3 엘라스틱서치 내부 구조와 루씬
__2.3.1 루씬 flush
__2.3.2 루씬 commit
__2.3.3 세그먼트
__2.3.4 루씬 인덱스와 엘라스틱서치 인덱스
__2.3.5 translog
▣ 03장: 인덱스 설계
3.1 인덱스 설정
__3.1.1 number_of_shards
__3.1.2 number_of_replicas
__3.1.3 refresh_interval
__3.1.4 인덱스 설정을 지정하여 인덱스 생성
3.2 매핑과 필드 타입
__3.2.1 동적 매핑 vs. 명시적 매핑
__3.2.2 필드 타입
__3.2.3 doc_values
__3.2.4 fielddata
__3.2.5 _source
__3.2.6 index
__3.2.7 enabled
3.3 애널라이저와 토크나이저
__3.3.1 analyze API
__3.3.2 캐릭터 필터
__3.3.3 토크나이저
__3.3.4 토큰 필터
__3.3.5 내장 애널라이저
__3.3.6 애널라이저를 매핑에 적용
__3.3.7 커스텀 애널라이저
__3.3.8 플러그인 설치를 통한 애널라이저 추가와 한국어 형태소 분석
__3.3.9 노멀라이저
3.4 템플릿
__3.4.1 인덱스 템플릿
__3.4.2 컴포넌트 템플릿
__3.4.3 레거시 템플릿
__3.4.4 동적 템플릿
__3.4.5 빌트인 인덱스 템플릿
3.5 라우팅
__3.5.1 인덱스 내에서의 _id 고유성 보장
__3.5.2 인덱스 매핑에서 라우팅을 필수로 지정하기
▣ 04장: 데이터 다루기
4.1 단건 문서 API
__4.1.1 색인 API
__4.1.2 조회 API
__4.1.3 업데이트 API
__4.1.4 삭제 API
4.2 복수 문서 API
__4.2.1 bulk API
__4.2.2 multi get API
__4.2.3 update by query
__4.2.4 delete by query
4.3 검색 API
__4.3.1 검색 대상 지정
__4.3.2 쿼리 DSL 검색과 쿼리 문자열 검색
__4.3.3 match_all 쿼리
__4.3.4 match 쿼리
__4.3.5 term 쿼리
__4.3.6 terms 쿼리
__4.3.7 range 쿼리
__4.3.8 prefix 쿼리
__4.3.9 exists 쿼리
__4.3.10 bool 쿼리
__4.3.11 constant_score 쿼리
__4.3.12 그 외 주요 매개변수
__4.3.13 검색 결과 정렬
__4.3.14 페이지네이션
4.4 집계
__4.4.1 집계 기본
__4.4.2 메트릭 집계
__4.4.3 버킷 집계
__4.4.4 파이프라인 집계
4.5 서비스 코드에서 엘라스틱서치 클라이언트 이용
__4.5.1 저수준 REST 클라이언트
__4.5.2 고수준 REST 클라이언트
__4.5.3 자바 클라이언트
▣ 05장: 서비스 환경에 클러스터 구성
5.1 운영 환경을 위한 설정과 클러스터 구성
__5.1.1 노드 설정과 노드 역할
__5.1.2 그 외 필요한 주요 설정
5.2 클러스터 구성 전략
__5.2.1 마스터 후보 노드와 데이터 노드를 분리
__5.2.2 마스터 후보 노드와 투표 구성원
__5.2.3 서버 자원이 많지 않은 경우
__5.2.4 서버 자원이 굉장히 많이 필요한 경우
__5.2.5 사양이 크게 차이나는 서버 자원을 활용해야 하는 경우
__5.2.6 조정 전용 노드
__5.2.7 한 서버에 여러 프로세스 띄우기
5.3 보안 기능 적용
__5.3.1 모든 보안 기능을 적용하지 않은 상태
__5.3.2 TLS 부트스트랩 체크
__5.3.3 클러스터 최초 기동 시 자동 보안 설정 이용
__5.3.4 키바나와 브라우저 사이에 TLS 적용
__5.3.5 수동으로 엘라스틱서치 노드 간의 통신에 TLS 적용
__5.3.6 수동으로 기본 인증 설정
__5.3.7 수동으로 REST API 호출에 TLS 적용
▣ 06장: 클러스터 운영
6.1 클러스터 설정 API
6.2 cat API를 통한 클러스터 관리와 모니터링
6.3 인덱스 운영 전략
__6.3.1 템플릿과 명시적 매핑 활용
__6.3.2 라우팅 활용
__6.3.3 시계열 인덱스 이름
__6.3.4 alias
__6.3.5 롤오버
__6.3.6 데이터 스트림
__6.3.7 reindex
__6.3.8 shrink로 샤드 개수 줄이기
__6.3.9 split으로 샤드 개수 늘이기
__6.3.10 다중 필드
__6.3.11 타입이 계속 변경되는 데이터
__6.3.12 루씬 텀 길이 제약
__6.3.13 대량 색인이 필요할 때
6.4 샤드 운영 전략
__6.4.1 샤드의 크기와 개수 조정
__6.4.2 모든 노드가 충분히 일을 하고 있는지
__6.4.3 미래에 데이터가 커질 것을 고려
__6.4.4 테스트 수행
6.5 롤링 리스타트
6.6 스냅샷과 복구
__6.6.1 스냅샷 저장소 등록과 설정
__6.6.2 스냅샷을 생성하고 조회하기
__6.6.3 스냅샷에서 인덱스 복구하기
__6.6.4 스냅샷 삭제하기
__6.6.5 스냅샷 생명 주기 관리
6.7 명시적으로 세그먼트 병합하기
6.8 샤드 할당 필터링과 데이터 티어 구조
__6.8.1 노드 속성과 샤드 할당 의식
__6.8.2 클러스터 단위 샤드 할당 필터링
__6.8.3 인덱스 단위 샤드 할당 필터링
__6.8.4 데이터 티어 구조
6.9 인덱스 생명 주기 관리
6.10 서킷 브레이커
6.11 슬로우 로그 설정
6.12 버전 업그레이드
__6.12.1 사전에 챙겨야 할 사항
__6.12.2 롤링 업그레이드
__6.12.3 풀 리스타트 업그레이드
__6.12.4 엘라스틱 스택 업그레이드
▣ 07장: 운영 도중 발생하는 장애 대응
7.1 장애 징후 탐지를 위한 사전 모니터링 등록
__7.1.1 메트릭비트로 지표 데이터를 수집하고 스택 모니터링으로 확인하기
__7.1.2 키바나의 얼럿 기능으로 알람 받기
__7.1.3 다른 대안으로 구성하기
7.2 장애 발생 시 대응
7.3 자주 발생하는 장애 유형
__7.3.1 키바나에서 과도한 요청 인입
__7.3.2 GC로 인한 stop-the-world 상황
__7.3.3 디스크 풀 상황
__7.3.4 미할당 샤드가 남았는데 샤드 할당이 더 이상 진행되지 않는 상황
__7.3.5 댕글링 인덱스
__7.3.6 장애 복구 작업 도중 새 인덱스가 생성될 때
__7.3.7 날짜가 넘어가는 순간에 대량으로 새 인덱스가 생성되며 부하가 몰려 죽는
상황
__7.3.8 특정 노드의 성능이 떨어지는 상황
7.4 샤드 복구 전략
__7.4.1 샤드 복구 기본
__7.4.2 샤드 복구 진행 상황 확인
__7.4.3 샤드 복구 속도 조정
__7.4.4 샤드 복구 우선순위 조정
7.5 원활한 장애 복구를 위한 서비스 구조 설계
__7.5.1 앞쪽에 메시지 큐를 둔다
__7.5.2 멱등하게 설계한다
__7.5.3 용도나 중요도별로 클러스터를 분리해야 한다
▣ 08장: 엘라스틱서치의 내부 동작 상세
8.1 엘라스틱서치의 데이터 분산 처리 과정
__8.1.1 쓰기 작업 시 엘라스틱서치 동작과 동시성 제어
__8.1.2 읽기 작업 시 엘라스틱서치 동작
__8.1.2 체크포인트와 샤드 복구 과정
8.2 엘라스틱서치의 검색 동작 상세
__8.2.1 엘라스틱서치 검색 동작 흐름
__8.2.2 루씬 쿼리의 매칭과 스코어링 과정
__8.2.3 캐시 동작
▣ 09장: 커스텀 플러그인을 이용한 엘라스틱서치 커스터마이징과 실전 운영
9.1 커스텀 플러그인이 필요한 이유
9.2 플러그인 기본
__9.2.1 플러그인 기본 관리
__9.2.2 플러그인 기본 구조
__9.2.3 플러그인 개발 시 유의할 사항
9.3 Hello World 플러그인 제작
__9.3.1 플러그인 프로젝트 생성과 기본 구조 잡기
__9.3.2 Plugin과 ActionPlugin
9.4 엘라스틱서치와 플러그인의 테스트 코드 작성
__9.4.1 테스트 코드 작성을 위한 기본 설정
__9.4.2 엘라스틱서치 테스트 프레임워크로 테스트 코드 작성
__9.4.3 REST 레이어 테스트
9.5 ActionFilter로 위험한 액션 차단 및 변조하기
__9.5.1 ActionFilter를 사용하는 플러그인 구현
__9.5.2 엘라스틱서치 기동 과정과 ActionFilter의 동작 상세
__9.5.3 createComponents로 플러그인 구성요소 등록
__9.5.4 LifecycleComponent로 생명 주기를 가진 구성요소 관리
9.6 특정 조건을 만족할 때를 감지하여 알람 보내기
__9.6.1 persistent 타입의 task 동작
__9.6.2 PersistentTaskPlugin 구현
__9.6.3 플러그인에 권한 부여하기
9.7 인덱스 내 일부 데이터만 덤프하기
__9.7.1 덤프 플러그인 작성
__9.7.2 플러그인에 권한을 강제로 부여하기
__9.7.3 HDFS에 덤프
9.8 데이터 변경분을 카프카로 발급하기
__9.8.1 IndexingOperationListener로 문서 작업 추적
__9.8.2 카프카로 메시지 발급
작가정보
이 상품의 총서
Klover리뷰 (0)
- - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (5,000원 이상 상품으로 변경 예정, 2024년 9월 30일부터 적용)
- - 리워드는 한 상품에 최초 1회만 제공됩니다.
- - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
구매 후 리뷰 작성 시, e교환권 100원 적립
문장수집
- 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
- e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (5,000원 이상 eBook으로 변경 예정, 2024년 9월 30일부터 적용)
- 리워드는 한 상품에 최초 1회만 제공됩니다.
- sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.
구매 후 문장수집 작성 시, e교환권 100원 적립
신규가입 혜택 지급이 완료 되었습니다.
바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

- 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
- 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
- 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
가장 와 닿는 하나의 키워드를 선택해주세요.
총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.
신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.
허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
있으니 유의하시어 신중하게 신고해주세요.
이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.
구매 후 90일 이내 작성 시, e교환권 100원 적립
eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.
차감하실 sam이용권을 선택하세요.
차감하실 sam이용권을 선택하세요.
선물하실 sam이용권을 선택하세요.
-
보유 권수 / 선물할 권수0권 / 1권
-
받는사람 이름받는사람 휴대전화
- 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
- 열람권은 1인당 1권씩 선물 가능합니다.
- 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
- 선물한 열람권의 등록유효기간은 14일 입니다.
(상대방이 기한내에 등록하지 않을 경우 소멸됩니다.) - 무제한 이용권일 경우 열람권 선물이 불가합니다.
첫 구매 시 교보e캐시 지급해 드립니다.

- 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
- 한 ID당 최초 1회 지급 / sam 이용권 제외
- 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
- 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)