Elasticsearch in Action : 강력하고 실용적인 검색 애플리케이션 구축 - 오픈소스 프로그래밍 (2판)

Elasticsearch in Action : 강력하고 실용적인 검색 애플리케이션 구축 - 오픈소스 프로그래밍 (2판)

$47.52
Description
이 책은 현대적인 검색엔진인 일래스틱서치의 기능과 활용법을 폭넓게 다룬 실용적인 안내서다. 기초적인 검색 개념부터 고급 쿼리 작성, 시스템 관리까지 일래스틱서치의 핵심 기능과 아키텍처를 체계적으로 탐구하며, 초보자와 고급 사용자 모두에게 유용한 지식을 제공한다.
초반에는 검색의 기본 개념과 일래스틱서치의 독창적인 기능을 소개하며, 도큐먼트 API 실습을 통해 검색 조건 및 고급 쿼리 작성을 학습할 수 있도록 안내한다. 이어서 데이터 매핑, 텍스트 분석, 풀텍스트 검색, 복합 쿼리 작성, 집계 처리 등 검색 기술 전반을 심층적으로 다룬다. 후반부에서는 프로덕션 환경에서의 일래스틱서치 운영과 성능 최적화에 중점을 두고, 클러스터 관리, 샤드 구성, 스냅숏 생성 및 복구, 성능 병목 현상 해결 등 실무적 관리 기법을 상세히 설명한다. 또한 부록에서는 설치 가이드, 데이터 전처리용 인제스트 파이프라인 구성, 다양한 프로그래밍 언어와의 연동 방법을 제공한다.
검색 기술을 배우고 활용하고자 하는 모든 독자에게 강력한 도구와 실무적 인사이트를 제공할 것이다.

저자

마두수단콘다

저자:마두수단콘다(MadhusudhanKonda)
복잡한문제를단순화하고,큰그림을조망하며,프로그래밍언어와고급프레임워크의새로운영역에뛰어드는데헌신하는경험많은기술자다.기술에대한열정은단순한직업이아니라평생에걸친탐험과학습의여정이다.복잡한문제를더간단하고관리하기쉬운해결책으로변환하는예술에열광하며,끊임없이변화하는기술환경에서명확한방향을제시한다.
25년에이르는경력동안솔루션아키텍트,수석/주엔지니어등다양한역할을맡아왔다.그러나언제나프로그래밍언어,프레임워크,신기술에대한지식을공유하고동료들의이해를도우려는열정으로가득했다.
크레디트스위스(CreditSuisse),UBS,미즈호(Mizuho),도이치은행(DeutscheBank),할리팩스(Halifax)와같은은행부터브리티시페트롤륨(BritishPetroleum)과브리티시에어웨이즈(BritishAirways)와같은에너지및항공분야의선도기업에이르기까지다양한고객을위해고품질솔루션을설계하고제공하는데중요한역할을해왔다.
소프트웨어프로젝트를시작부터완료까지이끌고복잡한비즈니스문제를해결하기위한솔루션을설계하는것뿐만아니라전략적인로드맵,비용효율적인아키텍처및제품디자인을만드는데까지확장한다.전략가이자비전가로,멘토링과사상리더십을결합한리더십스타일로팀의잠재력을끌어내고경계를넓히며영감을주는것으로유명하다.초급부터고급까지다양한수준의전문가들을가르치고훈련하는것에자부심을느끼며,주니어들을멘토링하고지도하는데에도열정적이다.
인상적인경력외에도저명한저자다.자바,스프링,하이버네이트생태계에관한책과비디오강좌는많은사람에게호평을받으며,기술세계에서학습과탐구문화를조성하려는헌신을더욱부각시킨다.열정적인블로거로서기술을넘어엔지니어의소프트스킬이라는중요한영역을탐구하는통찰력있는글을쓰고자항상노력한다.
명확성과간결함을추구하는복잡한기술개념을소화하기쉬운내용으로정제하기위해끊임없이노력한다.복잡한아이디어를열살짜리아이도이해할수있는수준으로단순화해모든사람이고급기술에접근하고이해할수있게하는데중점을둔다.

역자:최중연
엔터프라이즈환경에서쿠버네티스기반카프카와일래스틱서치클러스터를제공하는서비스를개발및운영하고있으며,운영자개입이최소화되고자동으로관리되는완전관리형서비스(Fullmanagedservice)설계에관심이많다.번역서로는에이콘출판사에서펴낸『KafkainAction』(2023),『일래스틱스택을이용한머신러닝2/e』(2022),『일래스틱스택을이용한머신러닝』(2020),『KafkaStreamsinAction』(2019),『일래스틱서치쿡북3/e』(2019),『키바나5.0배우기』(2017),『ElasticsearchinAction』(2016)등이있다.

목차


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.1match쿼리:특정저자의책검색
2.3.2AND연산자를사용한match쿼리
2.3.3_bulkAPI를사용해도큐먼트인덱싱
2.3.4다중필드검색
2.3.5결과부스팅
2.3.6문구검색
2.3.7누락된단어가있는문구
2.3.8철자오류처리
2.4텀수준쿼리
2.4.1term쿼리
2.4.2range쿼리
2.5compound쿼리
2.5.1bool쿼리
2.5.2must절
2.5.3must_not절
2.5.4should절
2.5.5filter절
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.1text데이터타입
4.5.2keyword데이터타입
4.5.3date데이터타입
4.5.4숫자데이터타입
4.5.5boolean데이터타입
4.5.6range데이터타입
4.5.7IP데이터타입
4.6고급데이터타입
4.6.1geo_point데이터타입
4.6.2object데이터타입
4.6.3nested데이터타입
4.6.4flattened데이터타입
4.6.5join데이터타입
4.6.6search_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.3ID쿼리
5.3응답조작
5.3.1응답에서메타데이터제거
5.3.2소스도큐먼트제외
5.3.3필드포함및제외
5.4도큐먼트업데이트
5.4.1도큐먼트업데이트메커니즘
5.4.2_updateAPI
5.4.3스크립트업데이트
5.4.4도큐먼트교체
5.4.5Upsert
5.4.6Upsert로업데이트
5.4.7쿼리를사용한업데이트
5.5도큐먼트삭제
5.5.1ID로삭제하기
5.5.2쿼리로삭제(_delete_by_query)
5.5.3범위쿼리로삭제
5.5.4모든도큐먼트삭제
5.6벌크도큐먼트작업
5.6.1_bulkAPI형식
5.6.2벌크인덱싱도큐먼트
5.6.3독립된엔티티와다중액션
5.6.4cURL을사용한대량요청
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.1standard분석기
7.3.2simple분석기
7.3.3whitespace분석기
7.3.4keyword분석기
7.3.5fingerprint분석기
7.3.6pattern분석기
7.3.7언어분석기
7.4맞춤형분석기
7.4.1고급맞춤형
7.5분석기지정
7.5.1인덱싱을위한분석기
7.5.2검색용분석기
7.6문자필터
7.6.1HTML스트립(hmtl_strip)필터
7.6.2매핑문자필터
7.6.3파일을통한매핑
7.6.4pattern_replace문자필터
7.7토크나이저
7.7.1standard토크나이저
7.7.2ngram과edge_ngram토크나이저
7.7.3기타토크나이저
7.8토큰필터
7.8.1스테머필터
7.8.2shingle필터
7.8.3synonym필터
요약

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.6URI요청
8.6.1제목으로영화검색하기
8.6.2특정영화검색하기
8.6.3추가매개변수
8.6.4쿼리DSL로URI요청지원
8.7쿼리DSL
8.7.1샘플쿼리
8.7.2cURL에대한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.2term쿼리
9.2.1텍스트필드에대한term쿼리
9.2.2term쿼리예시
9.2.3간소화된텀수준쿼리
9.3terms쿼리
9.3.1terms쿼리의예
9.3.2terms룩업쿼리
9.4ids쿼리
9.5exists쿼리
9.6range쿼리
9.7wildcard쿼리
9.8prefix쿼리
9.8.1간소화버전쿼리
9.8.2prefix쿼리속도향상
9.9fuzzy쿼리
요약

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

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

12장고급검색
12.1위치검색소개
12.1.1bound

출판사 서평

이책에서다루는내용

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

이책의대상독자

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

옮긴이의말

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