장바구니 담기 close

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

Elasticsearch in Action (2판)

Elasticsearch in Action (2판)

  • 마두수단 콘다
  • |
  • 에이콘출판
  • |
  • 2025-01-31 출간
  • |
  • 776페이지
  • |
  • 188 X 235 X 36mm
  • |
  • ISBN 9791161759654
판매가

45,000원

즉시할인가

40,500

배송비

무료배송

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

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

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

출판사서평

◈ 이 책에서 다루는 내용 ◈

◆ 검색 아키텍처 이해
◆ 풀텍스트와 텀 수준 검색 쿼리
◆ 분석 및 집계
◆ 키바나에서의 고수준 시각화
◆ 클러스터 구성, 확장 및 튜닝


◈ 이 책의 대상 독자 ◈

이 책은 일래스틱서치와 그 실용적인 응용에 대해 깊이 있는 이해를 얻고자 하는 모든 이에게 귀중한 자원이 될 것이다. 특히 다음과 같은 독자가 읽고 혜택을 얻을 수 있다.
◆ 일래스틱서치 분야에서 초보자이며 기본 작동 원리를 이해하고자 하는 개발자, 아키텍트, 분석가, 관리자, 프로덕트 오너
◆ 데이터 파이프라인에서 일래스틱서치를 구축해 실시간 데이터 분석 및 처리를 수행하고자 하는 데이터 과학자
◆ 대규모 데이터베이스를 유지 관리하며 일래스틱서치를 사용해 데이터 검색 효율성과 시스템 성능을 향상시키고자 하는 시스템 관리자
◆ 클라이언트 프로젝트에서 일래스틱서치를 추천하고 전략적인 IT 결정을 내리기 위해 이를 이해해야 하는 IT 컨설턴트 또는 기술 고문
◆ 일래스틱서치가 운영 효율성을 높이거나 고객에게 추가 가치를 제공하는 방법을 이해하고자 하는 기술에 정통한 비즈니스 오너
◆ 컴퓨터 과학, 데이터 과학 또는 관련 분야를 전공하며 빅데이터 기술을 공부하고 검색 기술에 관심이 있는 학생 및 학술 연구자
◆ 대규모 데이터를 처리하며 일래스틱서치를 사용해 검색 기능(풀텍스트, 퍼지, 텀 수준 검색 및 기타 복잡한 검색 기능 포함)을 향상시키고자 하는 개인
◆ 일래스틱서치 클러스터와 통신하는 마이크로서비스를 설계하고 개발하려는 일래스틱서치 아키텍트, 개발자 또는 분석가 지망생


◈ 옮긴이의 말 ◈

데이터가 폭발적으로 증가하고 그 안에 감춰진 정보의 중요성이 더욱 강조되는 시대에, 데이 터 검색과 분석의 효율성은 그 어느 때보다 중요한 주제가 됐다. 이러한 요구를 충족시키는 도구 중 하나로, 일래스틱서치는 놀라운 성능과 유연성으로 많은 사랑을 받고 있다.
일래스틱서치는 단순한 검색엔진 그 이상이다. 강력한 분산 처리 기능과 다양한 분석 도 구를 제공하며, 실시간 데이터 처리 및 대규모 데이터 관리에 특화된 기능을 갖추고 있어 현 대 데이터 중심 애플리케이션의 핵심 역할을 한다. 이번에 번역하게 된 『Elasticsearch in Action 2/e』은 기능과 활용법을 명쾌하고 실용적으로 설명하는 가이드다.
이 책은 단순한 기술 설명서를 넘어 독자들이 실제 프로젝트에서 일래스틱서치를 효과적으로 활용할 수 있도록 돕는 실질적인 사례와 조언을 제공하며, 초보자에게는 일래스틱서치의 핵심 개념과 사용법을, 경험자에게는 더 나은 활용법과 고급 기능을 탐구할 기회를 제공한다.
번역 과정에서는 원서의 내용을 최대한 자연스럽게 전달하는 데 중점을 뒀다. 특히 기술 용어의 경우 국내 독자들이 더 쉽게 이해할 수 있도록 필요한 경우 원어 발음 그대로 한국어 로 옮겨 적었으며, 한국어로 번역한 일부 단어에도 원어를 병기해 이해를 돕도록 했다.
이 책이 일래스틱서치를 처음 접하는 독자뿐만 아니라 이미 사용 중인 독자들에게도 실질적인 도움을 주고, 더 나아가 검색과 데이터 처리의 새로운 가능성을 탐구하는 데 영감을 줄 수 있기를 바란다.

목차

1장 개요
1.1 좋은 검색엔진이란?
1.2 검색은 새로운 표준
1.2.1 구조화된 데이터와 비구조화된 데이터
1.2.2 데이터베이스 기반 검색
1.2.3 데이터베이스와 검색엔진
1.3 최신 검색엔진
1.3.1 기능
1.3.2 인기 검색엔진
1.4 일래스틱서치 개요
1.4.1 핵심 영역
1.4.2 일래스틱 스택
1.4.3 일래스틱서치 사용 사례
1.4.4 부적절한 일래스틱서치 사용
1.4.5 오해
1.5 대중적 채택
1.6 생성형 AI와 최신 검색
요약


2장 시작해 보기
2.1 데이터와 함께 일래스틱서치 준비
2.1.1 온라인 서점
2.1.2 도큐먼트 인덱싱
2.1.3 첫 도큐먼트 인덱싱
2.1.4 더 많은 도큐먼트 인덱싱
2.2 데이터 검색
2.2.1 도큐먼트 집계
2.2.2 도큐먼트 검색
2.3 풀텍스트 검색
2.3.1 match 쿼리: 특정 저자의 책 검색
2.3.2 AND 연산자를 사용한 match 쿼리
2.3.3 _bulk API를 사용해 도큐먼트 인덱싱
2.3.4 다중 필드 검색
2.3.5 결과 부스팅
2.3.6 문구 검색
2.3.7 누락된 단어가 있는 문구
2.3.8 철자 오류 처리
2.4 텀 수준 쿼리
2.4.1 term 쿼리
2.4.2 range 쿼리
2.5 compound 쿼리
2.5.1 bool 쿼리
2.5.2 must 절
2.5.3 must_not 절
2.5.4 should 절
2.5.5 filter 절
2.6 집계
2.6.1 메트릭
2.6.2 버킷 집계
요약


3장 아키텍처
3.1 개요
3.1.1 데이터 입력
3.1.2 데이터 처리
3.1.3 데이터 출력
3.2 빌딩 블록
3.2.1 도큐먼트
3.2.2 인덱스
3.2.3 데이터 스트림
3.2.4 샤드와 복제본
3.2.5 노드와 클러스터
3.3 역인덱스
3.4 관련성
3.4.1 관련성 점수
3.4.2 관련성(유사성) 알고리듬
3.5 라우팅 알고리듬
3.6 스케일링
3.6.1 스케일 업(수직 확장)
3.6.2 스케일 아웃(수평 확장)
요약


4장 매핑
4.1 매핑 개요
4.1.1 매핑 정의
4.1.2 첫 도큐먼트 인덱스 생성
4.2 동적 매핑
4.2.1 타입 추론 메커니즘
4.2.2 동적 매핑의 한계
4.3 명시적 매핑
4.3.1 인덱싱 API를 사용한 매핑
4.3.2 매핑 API를 사용해 스키마 업데이트
4.3.3 기존 필드 수정은 허용되지 않는다
4.3.4 타입 강제
4.4 데이터 타입
4.5 핵심 데이터 타입
4.5.1 text 데이터 타입
4.5.2 keyword 데이터 타입
4.5.3 date 데이터 타입
4.5.4 숫자 데이터 타입
4.5.5 boolean 데이터 타입
4.5.6 range 데이터 타입
4.5.7 IP 데이터 타입
4.6 고급 데이터 타입
4.6.1 geo_point 데이터 타입
4.6.2 object 데이터 타입
4.6.3 nested 데이터 타입
4.6.4 flattened 데이터 타입
4.6.5 join 데이터 타입
4.6.6 search_as_you_type 데이터 타입
4.7 다중 데이터 타입이 있는 필드
요약


5장 도큐먼트 작업
5.1 도큐먼트 인덱싱
5.1.1 도큐먼트 API
5.1.2 인덱싱 메커니즘
5.1.3 새로 고침 프로세스 사용자 정의
5.2 도큐먼트 검색
5.2.1 단일 도큐먼트 API 사용
5.2.2 다중 도큐먼트 검색
5.2.3 ID 쿼리
5.3 응답 조작
5.3.1 응답에서 메타데이터 제거
5.3.2 소스 도큐먼트 제외
5.3.3 필드 포함 및 제외
5.4 도큐먼트 업데이트
5.4.1 도큐먼트 업데이트 메커니즘
5.4.2 _update API
5.4.3 스크립트 업데이트
5.4.4 도큐먼트 교체
5.4.5 Upsert
5.4.6 Upsert로 업데이트
5.4.7 쿼리를 사용한 업데이트
5.5 도큐먼트 삭제
5.5.1 ID로 삭제하기
5.5.2 쿼리로 삭제(_delete_by_query)
5.5.3 범위 쿼리로 삭제
5.5.4 모든 도큐먼트 삭제
5.6 벌크 도큐먼트 작업
5.6.1 _bulk API 형식
5.6.2 벌크 인덱싱 도큐먼트
5.6.3 독립된 엔티티와 다중 액션
5.6.4 cURL을 사용한 대량 요청
5.7 도큐먼트 재인덱싱
요약


6장 인덱싱 작업
6.1 인덱싱 작업
6.2 인덱스 생성
6.2.1 암묵적으로 인덱스 생성(자동 생성)
6.2.2 명시적으로 인덱스 생성
6.2.3 맞춤형 설정이 포함된 인덱스
6.2.4 매핑이 포함된 인덱스
6.2.5 별칭이 있는 인덱스
6.3 인덱스 읽기
6.3.1 공개 인덱스 읽기
6.3.2 숨겨진 인덱스 읽기
6.4 인덱스 삭제
6.5 인덱스 닫기와 열기
6.5.1 인덱스 닫기
6.5.2 인덱스 열기
6.6 인덱스 템플릿
6.6.1 컴포저블(인덱스) 템플릿 만들기
6.6.2 컴포넌트 템플릿 생성
6.7 인덱스 모니터링 및 관리
6.7.1 인덱스 통계
6.7.2 다중 인덱스 및 통계
6.8 고급 작업
6.8.1 인덱스 분할
6.8.2 인덱스 축소
6.8.3 인덱스 별칭 롤오버
6.9 인덱스 수명 주기 관리
6.9.1 인덱스 수명 주기
6.9.2 인덱스 수명 주기 수동 관리
6.9.3 롤오버가 포함된 수명 주기
요약


7장 텍스트 분석
7.1 개요
7.1.1 구조화되지 않은 데이터 쿼리
7.1.2 분석기가 구원해 주다
7.2 분석기 모듈
7.2.1 토큰화
7.2.2 정규화
7.2.3 분석기 구조
7.2.4 분석기 테스트
7.3 내장 분석기
7.3.1 standard 분석기
7.3.2 simple 분석기
7.3.3 whitespace 분석기
7.3.4 keyword 분석기
7.3.5 fingerprint 분석기
7.3.6 pattern 분석기
7.3.7 언어 분석기
7.4 맞춤형 분석기
7.4.1 고급 맞춤형
7.5 분석기 지정
7.5.1 인덱싱을 위한 분석기
7.5.2 검색용 분석기
7.6 문자 필터
7.6.1 HTML 스트립(hmtl_strip) 필터
7.6.2 매핑 문자 필터
7.6.3 파일을 통한 매핑
7.6.4 pattern_replace 문자 필터
7.7 토크나이저
7.7.1 standard 토크나이저
7.7.2 ngram과 edge_ngram 토크나이저
7.7.3 기타 토크나이저
7.8 토큰 필터
7.8.1 스테머 필터
7.8.2 shingle 필터
7.8.3 synonym 필터
요약


8장 검색 소개
8.1 개요
8.2 검색은 어떻게 작동할까?
8.3 영화 샘플 데이터
8.4 검색 기본 사항
8.4.1 _search 엔드포인트
8.4.2 쿼리와 필터 컨텍스트
8.5 요청과 응답 분석
8.5.1 검색 요청
8.5.2 검색 응답
8.6 URI 요청
8.6.1 제목으로 영화 검색하기
8.6.2 특정 영화 검색하기
8.6.3 추가 매개변수
8.6.4 쿼리 DSL로 URI 요청 지원
8.7 쿼리 DSL
8.7.1 샘플 쿼리
8.7.2 cURL에 대한 DSL 쿼리
8.7.3 집계를 위한 쿼리 DSL
8.7.4 리프 및 복합 쿼리
8.8 검색 기능
8.8.1 페이지 매김
8.8.2 강조 표시
8.8.3 관련성 점수 설명
8.8.4 정렬
8.8.5 결과 조작
8.8.6 인덱스 및 데이터 스트림 검색
요약


9장 텀 수준 검색
9.1 텀 수준 검색 개요
9.1.1 텀 수준 쿼리는 분석되지 않는다
9.1.2 텀 수준 쿼리 예
9.2 term 쿼리
9.2.1 텍스트 필드에 대한 term 쿼리
9.2.2 term 쿼리 예시
9.2.3 간소화된 텀 수준 쿼리
9.3 terms 쿼리
9.3.1 terms 쿼리의 예
9.3.2 terms 룩업 쿼리
9.4 ids 쿼리
9.5 exists 쿼리
9.6 range 쿼리
9.7 wildcard 쿼리
9.8 prefix 쿼리
9.8.1 간소화 버전 쿼리
9.8.2 prefix 쿼리 속도 향상
9.9 fuzzy 쿼리
요약


10장 풀텍스트 검색
10.1 개요
10.1.1 정밀도
10.1.2 재현율
10.2 샘플 데이터
10.3 match_all 쿼리
10.3.1 match_all 쿼리 작성
10.3.2 match_all 쿼리의 간소화 버전
10.4 match_none 쿼리
10.5 match 쿼리
10.5.1 match 쿼리의 형식
10.5.2 match 쿼리를 사용해 검색
10.5.3 match 쿼리 분석
10.5.4 여러 단어 검색
10.5.5 최소한 몇 단어 일치
10.5.6 fuzziness 키워드를 사용한 오타 수정
10.6 match_phrase 쿼리
10.7 match_phrase_prefix 쿼리
10.8 multi_match 쿼리
10.8.1 베스트 필드
10.8.2 dis_max 쿼리
10.8.3 타이브레이커
10.8.4 개별 필드 부스팅
10.9 query_string 쿼리
10.9.1 query_string 쿼리의 필드
10.9.2 기본 연산자
10.9.3 구문이 포함된 query_string 쿼리
10.10 fuzzy 쿼리
10.11 간단한 문자열 쿼리
10.12 simple_query_string 쿼리
요약


11장 복합 쿼리
11.1 제품 데이터 샘플
11.1.1 products 스키마
11.1.2 products 인덱싱
11.2 복합 쿼리
11.3 bool 쿼리
11.3.1 bool 쿼리 구조
11.3.2 must 절
11.3.3 must 절 강화
11.3.4 must_not 절
11.3.5 must_not 절 개선
11.3.6 should 절
11.3.7 filter 절
11.3.8 모든 절 결합
11.3.9 명명된 쿼리
11.4 상수 점수
11.5 부스팅 쿼리
11.6 디스정션 맥스(dis_max) 쿼리
11.7 function_score 쿼리
11.7.1 random_score 함수
11.7.2 script_score 함수
11.7.3 field_value_factor 함수
11.7.4 함수 점수의 결합
요약


12장 고급 검색
12.1 위치 검색 소개
12.1.1 bounding_box 쿼리
12.1.2 geo_distance 쿼리
12.1.3 geo_shape 쿼리
12.2 지리 공간 데이터 타입
12.2.1 geo_point 데이터 타입
12.2.2 geo_shape 데이터 타입
12.3 지리 공간 쿼리
12.4 geo_bounding_box 쿼리
12.5 geo_distance 쿼리
12.6 geo_shape 쿼리
12.7 shape 쿼리
12.8 span 쿼리
12.8.1 샘플 데이터
12.8.2 span_first 쿼리
12.8.3 span_near 쿼리
12.8.4 span_within 쿼리
12.8.5 span_or 쿼리
12.9 특수 쿼리
12.9.1 distance_feature 쿼리
12.9.2 pinned 쿼리
12.9.3 more_like_this 쿼리
12.9.4 percolate 쿼리
요약


13장 집계
13.1 개요
13.1.1 엔드포인트와 구문
13.1.2 검색 및 집계 결합
13.1.3 다중 및 중첩 집계
13.1.4 결과 무시
13.2 메트릭 집계
13.2.1 샘플 데이터
13.2.2 value_count 메트릭
13.2.3 avg 메트릭
13.2.4 sum 메트릭
13.2.5 min 및 max 메트릭
13.2.6 stats 메트릭
13.2.7 extended_stats 메트릭
13.2.8 cardinality 메트릭
13.3 버킷 집계
13.3.1 히스토그램
13.3.2 자식 수준 집계
13.3.3 사용자 정의 범위 집계
13.3.4 텀즈 집계
13.3.5 다중 텀즈 집계
13.4 부모 및 형제 집계
13.4.1 부모 집계
13.4.2 형제 집계
13.5 파이프라인 집계
13.5.1 파이프라인 집계 유형
13.5.2 샘플 데이터
13.5.3 파이프라인 집계 구문
13.5.4 사용 가능한 파이프라인 집계
13.5.5 cumulative_sum 부모 집계
13.5.6 max_bucket 및 min_bucket 형제 파이프라인 집계
요약


14장 관리자
14.1 클러스터 확장
14.1.1 클러스터에 노드 추가
14.1.2 클러스터 상태
14.1.3 읽기 처리량 증가
14.2 노드 통신
14.3 샤드 크기 조정
14.3.1 단일 인덱스 설정
14.3.2 다중 인덱스 설정
14.4 스냅숏
14.4.1 시작하기
14.4.2 스냅숏 저장소 등록
14.4.3 스냅숏 생성
14.4.4 스냅숏 복원
14.4.5 스냅숏 삭제
14.4.6 스냅숏 자동화
14.5 고급 구성
14.5.1 기본 구성 파일
14.5.2 로깅 옵션
14.5.3 자바 가상 머신 옵션
14.6 클러스터 마스터
14.6.1 마스터 노드
14.6.2 마스터 선출
14.6.3 클러스터 상태
14.6.4 쿼럼
14.6.5 스플릿 브레인 문제
14.6.6 전용 마스터 노드
요약


15장 성능 및 문제 해결
15.1 검색과 속도 문제
15.1.1 최신 하드웨어
15.1.2 도큐먼트 모델링
15.1.3 text 타입 대신 keyword 타입 선택
15.2 인덱스 속도 문제
15.2.1 시스템 생성 식별자
15.2.2 벌크 요청
15.2.3 새로 고침 빈도 조정
15.3 불안정한 클러스터
15.3.1 클러스터가 GREEN이 아니다
15.3.2 할당되지 않은 샤드
15.3.3 디스크 사용량 임곗값
15.4 서킷 브레이커
15.5 마무리

교환 및 환불안내

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