Top

전문 검색과 분석을 위한 Elasticsearch 서버 [아파치 루씬 기반의 고성능 엔터프라이즈 플랫폼]

  • 원서명ElasticSearch Server Second Edition (ISBN 9781783980529)
  • 지은이라팔 쿠크, 마렉 로고진스키
  • 옮긴이박재호
  • ISBN : 9788960776050
  • 35,000원
  • 2014년 09월 29일 펴냄 (절판)
  • 페이퍼백 | 452쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 오픈소스 프로그래밍

판매처

  • 현재 이 도서는 구매할 수 없습니다.

책 소개

요약

이 책은 검색과 관련된 기본 프레임워크를 제공하는 아파치 루씬(Apache Lucene)을 기반으로 만들어진 전문 검색과 분석 엔진인 일래스틱서치(Elasticsearch)의 구조와 기능을 설명한다. 색인 구조 생성부터 시작해 질의, 패싯, 집계를 비롯해, 고가용성을 위한 클러스터 구성과 감시, 문제 해결에 필요한 각종 절차까지 설명한다. 시나리오와 예제를 동원해 다양한 상황에 대응하는 방법을 자세하고 실질적으로 도움이 되는 방식으로 설명하므로, 자료 색인과 검색은 물론이고 분석 과정에서 많은 힌트를 얻을 것이다. 검색이나 로그 저장/분석이 필요한 개발자라면 이 책으로 일래스틱서치에 입문해보자.

이 책에서 다루는 내용

■ 독자적인 색인을 구성하고 생성하는 방법

■ 분석 체인을 설정하고 다국어 자료를 처리하는 방법

■ 모든 질의 유형을 만들어내는 일래스틱서치의 질의 DSL 사용 방법

■ 필터를 효율적으로 활용하고 성능을 높이는 방법

■ 자동 완성 기능 구현

■ 패싯과 집계 프레임워크, 그 밖에 검색에서 더 많은 내용을 얻기 위해 유사 내용을 찾는 기능을 이용하고 고객의 검색 경험을 높이는 방법

■ 일래스틱서치 API와 외부 모니터링 소프트웨어로 클러스터 상태를 모니터링하는 방법

■ 게이트웨이와 탐색 모듈에 대한 기본 지식과 구성 방법

■ 주 샤드(shard)를 제어하고 레플리카(replica)의 균형을 잡는 방법

이 책의 대상 독자

이 책은 전문 검색 엔진과 일래스틱서치 세계에 처음 입문한 독자에게 적합하다. 일래스틱서치의 기초를 안내하며, 몇 가지 고급 기능을 사용하는 방법을 설명할 것이다. 일래스틱서치를 알고 사용해봤다면, 예제와 설명을 곁들여 모든 기능을 멋지게 개괄하기 때문에 이 책이 흥미로울 것이다.

아파치 솔라(Solr) 검색 엔진을 안다면, 아파치 솔라와 일래스틱서치의 몇 가지 기능을 비교하기 위해 이 책을 읽을 수도 있다. 이 책은 요구 사항에 더욱 적절한 도구를 찾기 위한 기초 지식을 제공한다.

이 책의 구성

1장 ‘일래스틱서치 클러스터 시작’에서는 전문 검색, 아파치 루씬, 텍스트 분석, 일래스틱서치 시작과 구성, 마지막으로 가장 기초적인 방법으로 자료를 색인하고 검색하는 방법을 다룬다.

2장 ‘자료 색인’에서는 색인 동작 원리, 색인 구조를 준비하기 위한 방법, 사용 가능한 자료 유형, 색인 속도 개선, 세그먼트 설명, 세그먼트 병합 동작 방식, 라우팅 설명을 다룬다.

3장 ‘자료 검색’에서는 일래스틱서치가 제공하는 전문 검색 기능을 소개한다. 질의 방법, 질의 과정의 동작 방식, 기본 질의와 복합 질의 유형을 다룬다. 이와 함께, 결과 필터링 방법, 강조 기능 사용, 반환된 결과에 대한 정렬도 다룰 것이다.

4장 ‘색인 구조 확장’에서는 복잡한 자료 구조 색인 방법을 설명한다. 트리와 같은 자료 타입 색인 방법, 다큐먼트 사이의 관계를 사용한 자료 색인, 색인 구조 변경을 다룰 것이다.

5장 ‘검색 결과 향상’은 아파치 루씬의 점수 계산, 일래스틱서치 점수 계산에 영향을 미치는 방법, 일래스틱서치의 스크립트 기능, 언어 분석을 다룬다.

6장 ‘전문 검색을 넘어서’에서는 집계 프레임워크 세부 기능, 패싯, 철자 교정과 자동 완성 구현 방법을 다룬다. 또한 독자들은 바이너리 파일 색인 방법, 지리위치 자료 처리 방법, 대규모 자료 집합의 효율적인 처리 방법을 배울 것이다.

7장 ‘일래스틱서치 클러스터 세부 사항’에서는 노드 탐색 메커니즘, 복구와 게이트웨이 모듈, 일래스틱서치에서 질의와 색인의 고가용성 대응 방안을 다룬다.

8장 ‘클러스터 관리’에서는 일래스틱서치 백업 기능, 클러스터 모니터링, 클러스터 균형 잡기, 샤드 이동을 다룬다. 또한 독자들은 미리 채우기 기능, 앨리어스, 플러그인 설치, 갱신 API를 사용한 클러스터 설정 변경 방법을 배울 것이다.

저자/역자 소개

저자 서문

이 책은 2013년 초에 출간된 『ElasticSearch Server』의 개정판이다. 개정판이 나온 다음에 일래스틱서치에 많은 변화가 있었다. 클러스터 처리와 검색 관련 기능이 개선되었으며 여러 가지 기능이 추가되었다. 훌륭한 검색 서버인 일래스틱서치 0.90 버전을 설명한 『Mastering ElasticSearch』를 끝내고 나서, 일래스틱서치 1.0 버전이 나올 때가 『ElasticSearch Server』 개정판을 출간한 완벽한 시점이 되리라고 생각했다. 1판과 마찬가지로 모든 주제를 상세히 다루지는 못했다. 1,000페이지가 넘지 않게 만들기 위해, 무엇을 자세히 설명하고, 무엇을 언급하고 넘어가고 무엇을 생략할지 선택해야 했다. 그럼에도 불구하고, 이 책을 읽고 나면 일래스틱서치와 기반 아파치 루씬에 대해 많은 내용을 배울 것이며, 원하는 지식을 쉽고 빠르게 습득할 것이라 희망한다. -라팔 쿠크

이 책은 1년 전에 출간된 『ElasticSearch Server』의 개정판이다. 상당히 짧은 시간이지만 일래스틱서치도 그 사이에 많이 바뀌었다. 1년 전에는 버전 0.20을 사용했지만, 지금은 버전 1.0.1이 출시되었다. 숫자만 바뀐 것이 아니다. 일래스틱서치는 이제 널리 알려지고 광범위하게 사용되는 소프트웨어다. 상용 서비스 지원과 생태계도 이를 뒷받침한다. 로그스태시(Logstash), 키바나(Kibana), 추가 프레임워크를 살펴보라! 일래스틱서치의 기능 또한 꾸준히 늘어나고 있다. 새로운 가능성을 열어준 집계 프레임워크와 같은 몇 가지 새로운 기능이 추가되었다. 이게 바로 일래스틱서치의 멋진 부분이다. 일래스틱서치의 빠른 개발 속도는 1판을 너무 빨리 시대에 뒤처지게 만들어버렸다. 이런 변화에 보조를 맞추는 작업 역시 큰 도전이었다. 베타 배포판과 최종 버전 사이의 차이점으로 인해 집필 과정에서 여러 차례 책 내용을 수정하고야 말았다. -마렉 로고진스키

저자 소개

라팔 쿠크(Rafal Kuc)

타고난 팀 리더이자 소프트웨어 개발자다. 현재 세마텍스트 사(Sematext Inc.)에서 컨설턴트 겸 소프트웨어 엔지니어로 일하며 아파치 루씬(Lucene)과 솔라(Solr), 일래스틱서치(Elasticsearch), 하둡(Hadoop) 스택 같은 오픈소스 기술에 집중하고 있다. 금융 소프트웨어부터 전자상거래 제품에 이르기까지 다양한 소프트웨어 분야에서 12년이 넘는 경험을 쌓았다. 자바를 주로 사용하나 목표를 더 빠르게 더 쉽게 달성해 주는 도구와 프로그래밍 언어라면 무엇이든 환영한다. 또한 solr.pl 사이트의 공동 창립자로서 사이트에서 자신의 지식을 공유하며 사람들이 겪는 솔라와 루씬 문제를 도와 주려 애쓴다. 루씬 유로콘(Lucene Eurocon), 베를린 버즈워즈(Berlin Buzzwords), 아파치콘(ApacheCon) 등 전 세계 학회에서 연사로도 활동한다.

마렉 로고진스키(Marek Rogozinski)

10년 넘는 경험을 쌓은 소프트웨어 아키텍트이자 컨설턴트다. 솔라와 일래스틱서치와 같은 오픈소스 검색 엔진에 기반한 소프트웨어와 하둡, HBase, 트위터 스톰과 같은 빅데이터 분석용 소프트웨어 스택에 대한 전문 지식을 보유하고 있다.

솔라와 루씬 라이브러리에 대한 정보와 튜토리얼을 제공하는 solr.pl 사이트의 공동 창립자이며, 팩트 출판사가 출간한 몇 권 책의 공동 저술을 맡았다.

현재 입력 자료의 대규모 스트림을 수집하고 처리하고 분석하는 제품군을 위해 아키텍처를 설계하는 새로운 회사의 CTO를 맡고 있다.

옮긴이의 말

예전에는 검색 엔진이라는 용어가 나오면 대부분 일반적인 관계형 데이터베이스 관리 시스템의 정형 자료 검색과 대비되는 개념으로서 문자열을 중심으로 하는 비정형 자료 검색을 지칭하는 경우가 많았다. 물론 여전히 이런 설명은 유효하지만 요즘에는 검색 엔진을 대용량 자료 처리, 분석, 시각화까지 엮어 더 큰 관점으로 보기 시작했다. 예를 들어, 애플리케이션 로그를 쌓을 경우 (크기와 형식 양쪽 측면에서) 비정형적인 특성으로 인해 기존 관계형 데이터베이스에 넣기가 곤란한 경우가 많다. Blob 형태로 넣었다고 하더라도 분석 과정에서 필요한 질의를 만들기도 어렵고 성능도 보장하지 못한다. 하지만, 요즘 나온 신형 검색 엔진들은 이런 작업을 손쉽게 처리해주는 다양한 기능을 제공하고 있다. 따라서, 원래부터 존재했던 비정형 텍스트 분석과 질의 능력에 대용량 자료 처리와 분석이라는 강점이 더해져 검색 엔진은 엔터프라이즈에서 유용하게 사용할 수 있는 기술로 발전해왔다.

일래스틱서치는 솔라와 마찬가지로, 검색과 관련된 기본 프레임워크를 제공하는 아파치 루씬을 기반으로 실제 기업에서 사용 가능한 완성된 검색 엔진을 목표로 삼고 있다. 아파치 루씬이 검색 관련 API를 제공하는 프레임워크라면 일래스틱서치는 루씬을 기반으로 검색 가능한 API(또는 DSL)를 클라이언트에 제공하는 완성된 프로그램으로 복잡한 설치 과정이나 프로그래밍 작업 없이도 바로 사용할 수 있다. 특히 일래스틱서치의 기본 구성값은 균형이 잘 잡혀 있기 때문에 기존 관계형 데이터베이스나 NoSQL 계열 프로그램에 비해 진입 장벽이 무척 낮다. 이 책의 1장만 읽으면 시스템 관리자가 아니더라도 누구나 바로 설치해서 사용할 수 있는 수준이다. 그렇다고 해서 엔터프라이즈 지원이 결코 약하지 않다. 백업을 위한 스냅샷 기능, 샤드와 레플리카로 대표되는 수평 확장 기능, 다양한 관리용 API 등을 비롯해 패싯과 집계로 대표되는 자료 분석 기능은 일래스틱서치를 엔터프라이즈급으로 올려놓았다. 공식 홈페이지에 올라온 사례연구(http://www.elasticsearch.org/case-studies/)를 살펴보면 많은 회사들이 일래스틱서치를 자사의 검색 엔진 엔진으로 채택한 이유가 나온다.

아파치 솔라에 관심이 많은 개발자라면 필연적으로 일래스틱서치와 솔라를 비교하고 싶은 욕구가 생길 것이다. 다행스럽게도, ‘Apache Solr vs ElasticSearch’(http://solr-vs-elasticsearch.com/)라는 사이트에서 아파치 솔라와 일래스틱서치의 기능을 API, 색인, 검색, 플러그인, 분산 측면으로 나눠 분석하고 있다. 기존에 솔라를 사용해본 경험이 있다면 기능 비교부터 출발하면 훨씬 이해하기 쉬울 것이다. 물론 솔라나 일래스틱서치 양쪽을 두고 고민하는 경우에도 선택을 위해 비교 내용을 참고하면 좋겠다.

이 책은 일래스틱서치를 제대로 사용하기 위해 필요한 기본 지식을 충실히 담고 있다. 검색 엔진에 대한 최소한의 기본 지식을 갖춘 개발자라면 이 책을 읽는 과정에서 어떠한 불편함도 느끼지 않게 검색 엔진의 기초 이론부터 자료 색인, 질의, 자료 분석, 패싯과 집계 메커니즘 등을 설명하며, 지리위치 색인과 예상 검색, 제안 기능과 같은 고급 기능도 설명한다. 물론 가장 마지막에는 클러스터 구성과 관리 기법을 설명하므로, 일래스틱서치를 실제 배포하고 운영하는 과정에서 필요한 지식도 빼놓지 않는다. 일래스틱서치 공식 사이트(http://www.elasticsearch.org/guide/)에서 제공하는 튜토리얼과 참조 가이드를 함께 읽으면 더욱 좋은 결과를 얻을 것이다.

이 책에서 다루는 일래스틱서치 버전은 1.0GA를 기준으로 하고 있지만, 번역 시점에서 가장 최신 버전은 1.2.0까지 나왔다. 여러 가지 다양한 기능이 추가되었고 버그도 수정되었으므로, 혹시 “책에 나오지는 않지만 일래스틱서치를 사용해 이런 작업도 가능할까?”라는 의문이 들 경우 다운로드 페이지(http://www.elasticsearch.org/downloads/)에서 제공하는 릴리스 노트를 참조해 버전 1.0 이후 새로 추가된 기능 목록을 살펴보고 공식 튜토리얼과 참조 가이드에서 해당 부분을 읽어보길 바란다. 온오프라인을 통틀어 일래스틱서치에 대한 정보가 부족한 상황에서 아무쪼록 이 책이 독자 여러분들께 조금이라도 도움이 되면 좋겠다.

옮긴이 소개

박재호

포항공과대학교 컴퓨터공학과 학부와 컴퓨터공학과 대학원을 졸업했다. 블로그 ‘컴퓨터 vs 책(http://jhrogue.blogspot.com)’을 운영하고 있다. 옮긴 책으로 에이콘출판사에서 펴낸 『조엘 온 소프트웨어』, 『초난감 기업의 조건』, 『리눅스 시스템 관리 완벽 가이드』, 『코드로 읽는 리눅스 디바이스 드라이버』, 『악성코드와 멀웨어 포렌식』, 『아파치 Solr 4 구축과 관리』 등이 있다.

목차

목차
  • 1장. 일래스틱서치 클러스터 시작
    • 전문 검색
    • 일래스틱서치 기초
    • 클러스터 설치와 구성
    • REST API로 자료 처리
    • URI 요청 질의를 사용한 검색
    • 요약

  • 2장. 자료 색인
    • 일래스틱서치 색인
    • 매핑 구성
    • 색인 과정에서 속도를 높이기 위한 배치 색인
    • 추가적인 내부 정보로 색인 구조 확장
    • 세그먼트 병합 소개
    • 라우팅 개괄
    • 요약

  • 3장. 자료 검색
    • 일래스틱서치 질의
    • 질의 과정 이해
    • 기본 질의
    • 복합 질의
    • 결과 필터링
    • 강조
    • 질의 검증
    • 자료 정렬
    • 질의 재작성
    • 요약

  • 4장. 색인 구조 확장
    • 트리와 유사한 구조체 색인
    • 평평하지 않은 자료 색인
    • 중첩된 객체 활용
    • 부모-자식 관계 활용
    • 갱신 API로 색인 구조 변경
    • 요약

  • 5장. 검색 결과 향상
    • 아파치 루씬의 점수 계산 소개
    • 일래스틱서치의 스크립트 기능
    • 다양한 언어로 내용 검색
    • 질의 중요도로 점수에 영향을 미치기
    • 색인 시점의 중요도 정의는 언제 의미가 있을까?
    • 의미가 동일한 단어
    • 질의 해설 기능 이해
    • 요약

  • 6장. 전문 검색을 넘어서
    • 집계
    • 패싯
    • 제안 기능 사용
    • 예상 검색
    • 파일 다루기
    • Geo
    • 스크롤 API
    • terms 필터
    • 요약

  • 7장. 일래스틱서치 클러스터 세부사항
    • 노드 탐색
    • 게이트웨이와 복구 모듈
    • 질의와 색인의 고가용성을 위한 일래스틱서치 클러스터 준비
    • 템플릿과 동적 템플릿
    • 요약

  • 8장. 클러스터 관리
    • 일래스틱서치 타임머신
    • 클러스터 상태 모니터링
    • 클러스터 균형 잡기
    • 샤드와 레플리카 할당 제어
    • 색인 미리 채우기
    • 색인 앨리어스와 일상 작업을 단순하게 만들기
    • 요약

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안