장바구니 담기 close

장바구니에 상품을 담았습니다.

일래스틱서치 고급 기능의 개념과 활용

일래스틱서치 고급 기능의 개념과 활용

  • 바디 딕시트
  • |
  • 에이콘출판
  • |
  • 2017-09-27 출간
  • |
  • 516페이지
  • |
  • 190 X 237 X 27 mm /969g
  • |
  • ISBN 9791161750552
판매가

35,000원

즉시할인가

31,500

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
31,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

★ 이 책의 대상 독자 ★
위대한 검색 서버인 일래스틱서치의 기본 개념을 숙지한 상태에서 일래스틱서치 지식을 좀 더 확장하고자 하는 일래스틱서치 사용자와 열렬한 지지자를 위해 작성됐다. 또한 아파치 루씬 또는 일래스틱서치의 작동 방식과 일래스틱서치 1.x에서 5.x까지의 변경사항 등을 설명하고 있다. 그 외에도 쿼리 관련성을 높이는 방법을 살펴보고, 일래스틱서치의 플러그인으로 일래스틱서치의 확장 방법을 학습하길 원하는 독자는 이 책을 흥미롭고 유용하게 읽을 수 있을 것이다.
대부분의 장에서 독자에게 관련 지식이 있다고 가정하고 진행하기 때문에 일래스틱서치를 처음 접하거나 쿼리와 데이터 인덱스 생성 등 기본 개념에 익숙하지 않다면 다소 어려울 수 있다.

★ 이 책의 구성 ★
1장, ‘일래스틱서치와 일래스틱서치 변경 다시 살펴보기’에서는 아파치 루씬의 동작 방식을 알아본다. 일래스틱서치 5.x를 소개하고, 기본 개념 설명 후에 일래스틱서치의 중요한 변경사항을 1.x부터 5.x까지 소개한다.
2장, ‘고급 쿼리 DSL’에서는 새로운 기본 스코어링 알고리즘인 BM25를 설명하고, 이전 TFIDF 알고리즘보다 더 나은지 살펴본다. 이 외에도 쿼리 재작성, 쿼리 템플릿, 쿼리 모듈 변경, 특정 시나리오에서 선택할 수 있는 다양한 쿼리와 같은 일래스틱서치 기능에 대해 설명한다.
3장, ‘전체 텍스트 검색을 넘어서’에서는 리스코어링(rescoring) , 멀티매칭 제어, 함수 스코어 쿼리를 설명한다. 이어서 일래스틱서치의 스크립팅 모듈도 다룬다.
4장, ‘데이터 모델링과 분석’에서는 일래스틱서치의 다양한 데이터 모델링 방법을 설명한다. 부모-자식 데이터 타입과 중첩 데이터 타입을 사용해 도큐먼트 간의 관계를 다루는 방법과 실질적인 고려사항을 살펴본다. 또한 데이터 분석을 위한 일래스틱서치의 집계 모듈을 설명한다.
5장, ‘사용자 검색 환경 개선’에서는 제안자(suggester)를 사용해 사용자 검색 환경을 향상시키는 주제에 초점을 둔다. 제안자를 사용하면 사용자 쿼리 철자 실수를 수정하고 효율적인 자동 완성 메커니즘을 생성할 수 있다. 이 외에 쿼리 관련성을 높이는 방법과 동의어를 사용해 검색하는 방법도 다룬다.
6장, ‘인덱스 배포 아키텍처’에서는 적절한 샤드와 복제본 개수 선택, 라우팅 동작 방식, 샤드할당 동작 방식, 샤드 할당 동작 변경 방법을 다룬다. 이 외에도 쿼리 실행 preference 설정이 무엇이며, 쿼리를 실행할 위치를 어떻게 선택하는지 설명한다.
7장, ‘로우 레벨 인덱스 제어’에서는 아파치 루씬의 스코어링을 변경하는 방법과 대안 스코어링 알고리즘을 선택하는 방법을 설명한다. 또한 NRT 검색과 저장, 트랜잭션 로그 사용을 다룬다. 일래스틱서치 5.x에서 제거된 병합 정책에 대한 세부 정보와 함께 세그먼트 병합, 사용 사례에 맞게 조정할 수 있는 내용을 소개한다. 마지막 부분에서는 IO 스로틀링과 일래스틱서치 캐싱에 대한 정보도 제공한다.
8장, ‘일래스틱서치 관리’에서는 일래스틱서치 관리와 관련된 개념에 초점을 맞춘다. 탐색, 게이트웨이, 복구 모듈의 정의 및 설정 방법과 왜 이 부분을 신경 써야 하는지 설명한다. 또한 cat API가 무엇인지 알아보고, 다른 클라우드 서비스(아마존 AWS, 마이크로소프트 애저(Microsoft Azure))에 데이터를 백업하고 복원하는 방법에 대해 다룬다.
9장, ‘데이터 변환과 통합 검색’에서는 일래스틱서치에 저장하기 전에 일래스틱서치 클러스터 자체에 데이터를 전처리할 수 있는, 일래스틱서치 5의 최신 기능인 인제스트 노드를 소개한다. 또한 트라이브 노드를 사용해 여러 클러스터에서 통합 검색이 동작하는 방식을 설명한다.
10장, ‘성능 개선’에서는 여러 부하에서의 일래스틱서치 성능 향상을 설명한다. 상용 클러스터를 적절히 스케일링하는 방법, 가비지 컬렉션 및 핫 스레드 이슈에 대한 통찰력과 문제 처리 방법을 다룬다. 또한 쿼리 프로파일링과 쿼리 벤치마킹을 다룬다. 이어서 쿼리 처리량이 많은 시나리오와 저장 처리량이 많은 시나리오에서 일반적인 일래스틱서치 클러스터의 튜닝 조언을 설명한다.
11장, ‘일래스틱서치 플러그인 개발’에서는 일래스틱서치의 플러그인 개발 방법을 다룬다. 이어서 사용자 정의 REST 액션과 언어 분석 플러그인을 작성하는 방법을 자세히 설명한다.
12장, ‘일래스틱 스택 5.0 소개’에서는 일래스틱 스택 5.0의 구성요소인 일래스틱서치, 로그스태시, 키바나, 비트를 소개한다

목차

1장. 일래스틱서치와 일래스틱서치 변경 다시 살펴보기
__루씬 소개
____루씬 인덱스 자세히 살펴보기
____일래스틱서치 소개
__일래스틱서치 5.x 소개
____일래스틱서치의 새 기능 소개
____일래스틱서치의 변경사항
____2.x부터 5.x까지의 변경사항
__요약

2장. 고급 쿼리 DSL
__루씬에서 변경된 기본 텍스트 스코어링: BM25
____정밀도와 회수
____TF-IDF 정리
____BM25가 TF-IDF와 다른 점
__리팩토링된 쿼리 DSL
__작업에 적합한 쿼리 선택하기
____쿼리 범주화
____사용 사례
____쿼리 DSL의 중요한 변경사항
__쿼리 재작성 explain
____prefix 쿼리 예제
____아파치 루씬 다시 살펴보기
____쿼리 재작성 속성
__쿼리 템플릿
____검색 템플릿 소개
____Mustache 템플릿 엔진
__요약

3장. 전체 텍스트 검색을 넘어서
__멀티매칭 제어
__멀티매칭 타입
____베스트 필드 매칭
____크로스 필드 매칭
____모스트 필드 매칭
____구문 매칭
____접두어 매칭을 이용한 구문
__함수 스코어 쿼리를 이용한 스코어 제어
__함수 스코어 쿼리의 내장 함수
____weight 함수
____필드 값 인자 함수
____스크립트 스코어 함수
____감쇄 함수: 선형, 지수, 가우스 함수
__쿼리 리스코어링
____쿼리 리스코어링이란 무엇인가?
__리스코어 쿼리의 구조
____리스코어 매개변수
__일래스틱서치 스크립팅
____문법
____여러 버전의 스크립팅 변경사항
__페인리스: 새로운 기본 스크립팅 언어
____스크립팅 언어 페인리스의 사용
____예제
____스크립트를 기반으로 결과 정렬
____여러 필드를 기반으로 정렬
__루씬 표현식
____기초
____예제
__요약

4장. 데이터 모델링과 분석
__일래스틱서치의 데이터 모델링 기술
__일래스틱서치의 관계형 데이터 관리
____객체 타입
____중첩 도큐먼트
____부모-자식 관계
____대안에 대한 몇 마디
____데이터 반정규화의 예제
__집계를 이용한 데이터 분석
____일래스틱서치 5.0의 인스턴트 집계
____집계 재방문
____새로운 집계 범주: 매트릭스 집계
__요약

5장. 사용자 검색 환경 개선
__사용자 맞춤법 실수 수정
____데이터 테스트
____세부 기술 정보 얻기
__제안자
____ _search 엔드포인트에서 제안자 사용
____term 제안자
____phrase 제안자
____completion 제안자
__사용자 정의 자동 완성 구현
____인덱스 생성
__동의어 작업
____동의어 검색 설정 준비
____동의어 포맷 지정
____동의어 확장과 동의어 수축
__요약

6장. 인덱스 배포 아키텍처
__다중 노드 클러스터 예제 설정
__샤드와 복제본의 적절한 개수 선택
____샤딩과 초과 할당
____초과 할당의 긍정적인 예제
____다중 샤드와 다중 인덱스
__라우팅 설명
____샤드와 데이터
____라우팅 테스트
____라우팅을 이용한 저장
____실제 라우팅
____쿼리
____앨리어스
____다중 라우팅 값
__샤드 할당 제어
____할당 인식
____노드당 할당할 수 있는 전체 샤드 개수 정의
____물리 서버에 허용될 전체 샤드 정의
__쿼리 실행 preference
__여러 경로의 데이터를 스트라이핑하기
__인덱스와 타입: 인덱스 생성 시 변경된 접근 방식
__요약

7장. 로우 레벨 인덱스 제어
__아파치 루씬 스코어링 변경
____사용 가능한 유사도 모델
____필드마다 유사도 설정하기
____유사도 모델 설정
____기본 유사도 모델 선택
__적절한 디렉토리 구현 선택: 저장소 모듈
__저장소 타입
____간단한 파일 시스템 저장소: simplefs
__NRT, 플러시, 리프레시, 트랜잭션 로그
____인덱스 변경과 변경사항 커밋
____기본 리프레시 시간 변경
____트랜잭션 로그
____거의 실시간 GET
__세그먼트 병합의 제어
____일래스틱서치의 병합 정책 변경
____계층 병합 정책 설정
____스케줄링 병합
____강제 병합
__일래스틱서치 캐시의 이해
____노드 쿼리 캐시
____샤드 요청 캐시
____필드 데이터 캐시
____서킷 브레이커 사용
__요약

8장. 일래스틱서치 관리
__일래스틱서치의 노드 타입
____데이터 노드
____마스터 노드
____인제스트 노드
____트라이브 노드
____코디네이팅 노드/클라이언트 노드
__탐색과 복구 모듈
____탐색 설정
____게이트웨이와 복구 설정
____인덱스 복구 API
__인간 친화적인 상태 API: cat API
____cat API의 기초
____cat API의 사용
__백업
____스냅샷 API
____파일 시스템 백업하기
____클라우드에 백업 저장
__스냅샷 복구
____예제: 스냅샷 복구
__요약

9장. 데이터 변환과 통합 검색
__인제스트 노드가 포함된 일래스틱서치에서의 데이터 전처리 수행 방법
____유입 파이프라인 작업
____파이프라인의 에러 처리
____인제스트 프로세서로 작업
__통합 검색
____테스트 클러스터
____트라이브 노드 생성
____트라이브 노드로 데이터 읽기
____마스터 레벨의 읽기 오퍼레이션
____트라이브 노드에서 데이터 저장
____마스터 레벨의 저장 오퍼레이션
____인덱스 충돌 처리
____블로킹 쓰기 오퍼레이션
__요약

10장. 성능 개선
__쿼리 유효성 검사와 프로파일링
____실행 전에 비싼 쿼리의 유효성 검사하기
____자세한 쿼리 실행 보고서를 위한 쿼리 프로파일링
____프로파일링 사용 시 고려사항
__핫 스레드
____핫 스레드 API의 사용법 설명
____핫 스레드 API의 응답
__일래스틱서치의 스케일링
____수직 스케일링
____수평 스케일링
____고부하 시나리오에서의 일래스틱서치 사용
__축소와 롤오버 API를 사용해 시간 기반 인덱스를 효율적으로 관리하는 방법
____축소 API
____롤오버 API
__요약

11장. 일래스틱서치 플러그인 개발
__아파치 메이븐 프로젝트의 구조 생성
____메이븐 기초의 이해
____메이븐 자바 프로젝트의 구조
__사용자 정의 REST 엔드포인트 생성
____가정
____구현 세부사항
____테스트 시간
__사용자 정의 분석 플러그인 생성
____구현 세부사항
____사용자 정의 분석 플러그인의 테스트
__요약

12장. 일래스틱 스택 5.0 소개
__일래스틱 스택 5.0 소개
__로그스태시, 비트, 키바나 소개
____로그스태시로 작업
____데이터 전송자, 비트 소개
____키바나로 작업
__요약

저자소개

저자 바디 딕시트(Bharvi Dixit)는 검색 서버, NoSQL 데이터베이스, 클라우드 서비스에 대해 광범위한 경험을 가진 IT 전문가다. 컴퓨터 과학 석사학위를 받았고, 현재 미국의 금융 데이터와 주식 연구 플랫폼 회사인 센티오(Sentieo)와 협력해 수백 대의 서버를 포함한 전체 플랫폼 및 아키텍처를 이끌고 있다. 또한 센티오 검색 및 데이터 팀에서 중요한 역할을 담당하고 있다.
델리의 일래스틱서치 미트업 그룹(Elasticsearch Meetup Group) 주최자로서 일래스틱서치와 루씬에 대해 발표하고, 해당 기술에 대한 커뮤니티를 지속적으로 구축하고 있다.
프리랜서 일래스틱 컨설턴트로서 많은 회사가 일래스틱서치를 사용해 대테러영역, 리스크 관리뿐 아니라 취업 모집, 전자상거래, 금융, 소셜 검색, 로그 모니터링 같은 영역에서 대규모 데이터 자동화 인텔리전스 플랫폼 검색 솔루션을 만드는 등 다양한 사용 사례에 대한 복잡한 검색 문제를 해결할 수 있게 돕고 있다.
확장 가능한 백엔드 플랫폼을 만드는 것과 검색 엔지니어링, 데이터 분석, 분산 컴퓨팅에도 관심이 있다. 코드를 개발할 때 좋아하는 언어는 자바와 파이썬으로, 컨설팅 회사에 있을 때 자체 소프트웨어도 개발했었다.
2013년부터 루씬과 일래스틱서치로 작업하기 시작했고, 2016년에는 팩트출판사에서 출간한 첫 번째 책인 『Elasticsearch Essentials』를 저술했다. 『Learning Kibana 5.0』의 기술 감수도 진행했다.
링크드인(https://in.linkedin.com/in/bharvidixit)에 접속하거나 트위터(@d_bharvi) 계정으로 그를 팔로우할 수 있다.

도서소개

최신 일래스틱서치 5를 소개한 책으로 기존 일래스틱서치 하위 버전에서 제공하던 기능도 함께 소개하고 있다. 새롭게 개선된 아파치 루씬 6의 기본 텍스트 스코어링 메커니즘에 대한 설명과 설정 방법 뿐 아니라 모델링 방법, 5가지 타입의 노드, 관리 기능, 검색, 자동 완성화, 성능 튜닝, 샤드 및 복제본 개수와 라우팅을 이용한 운영 방법을 설명한다. 마지막으로 플러그인 개발 방법과 일래스틱 스택 5.0을 소개해 일래스틱서치와 함께 사용할 수 있는 일래스틱 오픈소스를 소개한다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.