간편결제, 신용카드 청구할인
네이버페이 1%
(네이버페이 결제 시 적립)
NH(올원페이)카드 12% (27,720원)
(3만원 이상 결제/최대 1만원 할인)
북피니언 롯데카드 30% (22,050원)
(최대할인 3만원 / 3만원 이상 결제)
하나SK 북&카드 30% (22,050원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (25,200원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (28,350원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (29,300원)
(최대할인 3만원 / 3만원 이상 결제)
Close

아파치 Solr 4 구축과 관리 : 오픈소스 루씬 기반 엔터프라이즈 검색 플랫폼

원제 : Apache Solr 4 Cookbook

2013년 9월 9일 이후 누적수치입니다.

판매지수 18
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

35,000원

  • 31,500 (10%할인)

    1,750P (5%적립)

  • 이벤트/기획전

  • 연관도서(322)

  • 사은품(2)

출판사 서평

이 책은 검색과 관련된 기본 프레임워크를 제공하는 아파치 루씬(Apache Lucene)을 기반으로 만들어진 전문 검색 엔진인 솔라(Solr)를 사용하는 과정에서 자주 발생하는 문제와 고민을 풀어준다. 솔라 설정부터 색인과 자료 분석, 질의 방법을 비롯해 성능 개선과 클라우드 활용까지 빠짐없이 다루고 있기에, 솔라를 사용해 검색 기능을 구현하고 서비스가 필요한 상황에 딱 맞는 책이다. 검색이 필요하다면 이 책을 읽고 솔라로 시작해보자!

이 책에서 다루는 내용
- 아파치 솔라 4를 효율적으로 설정하는 방법
- 형태와 형식이 다양한 자료를 색인하는 방법
- 다양한 자동 완성 기능을 구현하는 방법
- 아파치 솔라 4로 실시간 검색을 하는 방법
- 성능을 높이기 위해 아파치 솔라의 성능을 측정하고 개선하는 방법
- SolrCloud 기능에 통달하는 방법
- 아파치 솔라 4의 문제를 분석하고 해결하는 방법
- 질의 적합성을 개선하는 방법
- 자료를 분석할 때 부딪히는 일반적인 문제를 극복하는 방법

이 책의 대상 독자

아파치 솔라를 사용하는 사람, 아파치 솔라로 소프트웨어를 개발하며 그 과정에서 흔히 발생하는 문제의 해결책이 궁금한 개발자를 위한 책이다. 아파치 루씬을 알면 더 좋으나 필수는 아니다.

이 책의 구성

1장, 아파치 솔라 설정: 솔라 설정 예제, 솔라에서 다양한 서블릿 컨테이너 사용, 아파치 주키퍼(Zookeeper)와 아파치 너치(Nutch) 설정을 다룬다.

2장, 자료 색인: 이진 파일 색인 같은 자료 색인, 자료 추출 처리기 사용, 언어 감지, 문서 필드 하나만 갱신하는 기법 등을 다룬다.

3장, 텍스트 자료 분석: 어간 추출, 지리적 위치 색인, 동의어 사용 등 자료를 분석할 때 흔히 생기는 문제에 집중한다.

4장, 솔라 질의: 중첩 질의, 문서 순위 변화, 구문 검색, 부모-자식 관계 사용 같은 아파치 솔라 질의를 설명한다.

5장, 패싯 메커니즘 사용: 패싯(facet) 메커니즘에 집중한다. 솔라에서 패싯을 사용할 때 부딪히는 일부 문제를 해결하는 데 필요한 정보를 찾을 수 있다.

6장, 솔라 성능 개선: 캐시 설정, 색인 속력 향상 등 아파치 솔라 클러스터 성능 향상에 집중한다.

7장, 클라우드를 위한 솔라: 솔라 4.0의 새 기능인 SolrCloud와 컬렉션 설정, 레플리카 설정, 분산 색인과 검색, 솔라 관리를 다룬다.

8장, 솔라의 다양한 기능: 기능 활용 문서 강조 표시, 함수 값으로 결과 정렬, 사용자 철자 오류 점검, 그룹 묶기 기능을 설명한다.

9장, 문제 해결: 메모리 문제, 색인 크기 줄이기 등 가장 흔히 부딪히는 상황을 다룬다.

부록, 실제 상황: 여러 가지 자동 완성 기능 구현하기, 실시간 검색 사용하기, 질의 적합성 개선하기 등 실제 상황에 대처하는 방법을 설명한다.

목차

1장 아파치 솔라 설정
개요
제티에서의 솔라 실행
아파치 톰캣에서의 솔라 실행
데이터 클러스터링
올바른 디렉토리 구현 선택
자체 색인을 사용하지 않게 철자 검사기 설정
솔라 캐시 구성
웹 페이지를 가져와 색인하는 방법
추출 요청 처리기 설정 방법
기본 유사성 구현 변경

2장 자료 색인
개요
PDF 파일 색인
고유 필드 자동 생성
이진 파일에서의 메타데이터 추출
JDBC로 자료 추출 처리기 구성
자료 추출 처리기로 데이터베이스에서 자료 색인
자료 추출 처리기와 델타 질의로 자료를 추출하는 방법
URL 데이터 소스로 자료 추출 처리기를 사용하는 방법
자료 추출 처리기로 가져오며 자료를 수정하는 방법
문서의 단일 필드 갱신
여러 통화 처리
문서 언어 알아내기
기본 키 필드 색인 최적화

3장 텍스트 자료 분석
개요
페이로드를 이용한 추가 정보 저장
텍스트에서 XML 태그와 HTML 태그의 제거
한 필드 내용을 다른 필드로 복사
단어를 다른 단어로 변경
카멜 케이스(CamelCase)로 텍스트 분할
여백으로만 텍스트 분할
어간 추출 없이 복수 단어를 단수로 만들기
문자열 전체를 소문자로 만들기
색인에 지리적 위치 저장
자료에서 어간 추출
효율적인 문자열 끝 와일드카드 검색을 위한 텍스트 준비
숫자와 비 여백 문자로 텍스트 분할
훈스펠을 어간 추출기로 사용
자신만의 어간 사전 사용
어간 추출 방지

4장 솔라 질의
개요
특정 필드 값 조회
필드 값으로 결과 정렬
단어가 아니라 구문으로 검색
단어보다 구문 우선 검색
특정 문서 우선 반환
단어 거리가 가까운 문서 우선 반환
한 지점에서 거리로 결과 정렬
부분 일치로만 문서 가져오기
함수로 점수 계산에 영향 주기
질의 중첩
반환된 문서 수정
부모-자식 관계 사용
성능 관점에서의 오타 무시
중복 문서 감지 및 무시
필드 앨리어스 사용
결과에 함수 값 반환

5장 패싯 메커니즘 사용
개요
필드 값이 같은 문서 수 가져오기
값 범위가 같은 문서 수 가져오기
질의와 하위 질의에 일치하는 문서 수 가져오기
패싯 결과에서 필터 제거
알파벳순으로 패싯 결과 정렬
패싯을 이용한 자동 완성 기능 구현
필드 값이 없는 문서 수 가져오기
한 질의에서 두 필드에 다른 패싯 제한 주기
결정 트리 패싯 사용
연관 그룹에서 가장 적합한 문서에 대한 패싯 계산

6장 솔라 성능 개선
개요
결과 페이지 전환 속력 높이기
문서 캐시 구성
질의 결과 캐시 구성
필터 캐시 구성
시작 혹은 커밋 직후의 솔라 성능 개선
캐시에 전체 결과 페이지 저장
고윳값 수가 작은 필드에 대한 패싯 작업 성능 개선
색인 과정에서 솔라 성능 저하 시 대처 방법
질의 성능 분석
필터 캐시 저장 피하기
필터 질의 실행 순서 제어
숫자 범위 질의 성능 개선

7장 클라우드를 위한 솔라
개요
새로운 SolrCloud 클러스터 생성
단일 클러스터 내부에 2개의 컬렉션 설정
SolrCloud 클러스터 관리
SolrCloud 클러스터 관리 GUI의 이해
분산 색인과 검색
이미 존재하는 라이브 클러스터에 레플리카 수 늘이기
샤드 사이에서 자동화된 문서 배포 멈추기

8장 솔라의 다양한 기능
개요
결과 목록에 반환된 문서와 유사한 문서 더 얻기
일치된 단어의 강조
긴 텍스트 필드를 강조하고 좋은 성능을 얻는 방법
함수 값으로 결과 정렬
발음에 따른 단어 검색
정의된 단어의 무시
검색 결과의 통계 계산
사용자의 오타 점검
결과를 그룹으로 묶기 위한 필드 값 사용
결과를 그룹으로 묶기 위한 질의 사용
결과를 그룹으로 묶기 위한 함수 질의 사용

9장 문제 해결
개요
너무 많이 열린 파일 처리
메모리 부족 문제 해결
비영어권 자료의 적절한 정렬
색인을 작게 만들기
솔라 문제 진단
스와핑 피하기

부록 : 실제 상황

본문중에서

이 책을 펼친 여러분을 환영한다. 이 책에서는 아파치 솔라를 사용할 때 가장 흔히 겪는 문제를 다룬다. 솔라 구성과 설정에서 생기는 문제를 처리하는 방법, 질의 시 자주 발생하는 문제를 다루는 방법, 솔라 인스턴스를 상세하게 조율하는 방법, SolrCloud를 설정하고 사용하는 방법, 패싯과 그룹 묶기를 사용하는 방법, 자주 생기는 문제에 대처하는 방법, 그 외에도 많은 주제를 포함한다. 각 예제는 모두 실제 문제에 기반하며, 모든 예제는 사용한 설정과 코드를 상세히 설명한 해법을 포함한다.
이 책은 약 2년 전에 출간된 첫 [Apache Solr 3.1 Cookbook] 개정판이다. 처음에는 개정을 목표로 시작했으나, 기존 예제를 개정할 뿐만 아니라 아파치 솔라 4.0을 사용할 때 자주 처하는 상황에서 사용자를 도와줄 새 예제도 제공하려는 욕심으로, 결국 거의 모든 예제를 다시 쓰게 되었다. 지금 여러분이 손에 든(혹은 컴퓨터나 전자책 리더기로 읽고 있는) 이 책이 여러분에게 유용하기를 바란다.
(/ '지은이의 말' 중에서)

어떤 정보를 저장해야 한다는 요구사항을 받으면, 거의 본능적으로 데이터베이스를 떠올리게 된다. 물론 요즘에는 관계형 데이터베이스뿐만 아니라 NoSQL 계열의 데이터베이스도 일반화되고 있기에 선택의 폭이 넓어지긴 했지만, 다크호스가 하나 있다. 바로 검색 엔진이다. 물론 검색 엔진 자체만으로 기존 데이터베이스 관리 시스템에서 가능한 모든 작업을 그대로 수행하기는 어렵지만, 최소한 검색 측면에서 보여주는 유연함은 기존 관계형/NoSQL 계열 데이터베이스가 따라오기 어렵다는 생각이다. 검색 엔진을 사용할 경우 접두어/접미어 검색은 물론이고 구문 검색, 검색 키워드 사이의 연관성에 맞는 우선순위 조정, 어간 추출 검색 등을 자유롭게 수행할 수 있다. 여기에 보너스로 이런 복잡한 연산을 수행하는 경우에도 성능까지 보장한다. 이렇듯 텍스트 분석과 질의 능력이 뛰어나기에 전문(full text) 검색 엔진이라 부르는 이유가 바로 여기에 있다.

솔라는 검색과 관련된 기본 프레임워크를 제공하는 아파치 루씬을 기반으로 실제 기업에서 사용 가능한 완성된 검색 엔진을 목표로 삼고 있다. 루씬이 검색 관련 API를 제공하는 프레임워크라면 솔라는 루씬을 기반으로 REST와 유사한 API를 클라이언트에 제공하는 완성된 프로그램으로 아파치 톰캣이나 제티에 올려서 바로 시작 가능하다. 앞서 '기업'에서 사용 가능한 검색 엔진이라는 표현을 사용한 이유는 솔라가 관리자용 GUI 도구를 제공하며 레플리카와 분산 환경 구성을 위한 SolrCloud 기능을 제공하기 때문이다. 단독으로 동작하는 형태로는 수직 확장에 한계가 있기 마련이므로 고성능/고가용성을 달성하기 위해 솔라 4.0부터는 수평 확장이 가능한 아키텍처를 제공한다. 이런 좋은 특성으로 인해 상용 검색 엔진을 대신해 솔라를 채택한 사이트가 점점 늘어나고 있다. http://wiki.apache.org/solr/PublicServers를 살펴보면 솔라를 검색 엔진으로 채택한 곳은 일반 회사, 정부 기관, 오픈소스 프로젝트 등 분야를 가리지 않는다.

이 책은 솔라를 사용하는 과정에서 자주 발생하는 문제와 고민을 풀어주는 짧은 예제를 정리한 형태의 쿡북으로, 검색 엔진에 대한 기본 지식을 갖춘 개발자라면 재빨리 솔라 세상에 합류할 수 있는 여러 가지 힌트를 제공한다. 목차를 보면, 솔라 설정부터 시작해, 색인과 자료 분석, 질의 방법, 패싯 메커니즘 사용 방법을 소개하며, 다음으로 성능 개선, 클라우드 활용, 추가 기능 사용 방법, 실제 상황에서 자주 나오는 문제의 해법을 소개한다. 보다시피 솔라 운영과 활용, 그리고 문제 해결에 필요한 전 주기에 걸친 내용을 빠짐없이 다루고 있으므로, 아파치 솔라 공식 사이트(https://lucene.apache.org/solr/documentation.html)에서 제공하는 튜토리얼과 참조 가이드와 함께 읽으면 더욱 좋은 결과를 얻을 것이다.

이 책에서 다루는 아파치 솔라 버전은 4.0을 기준으로 하고 있지만, 번역 시점에서 가장 최신 버전은 4.7까지 나왔다. 여러 가지 다양한 기능이 추가되었고 버그도 수정됐으므로, 혹시 '책에 나오지는 않지만 솔라를 사용해 이런 작업도 가능할까?'라는 의문이 들 경우 릴리스 노트(https://lucene.apache.org/solr/4_7_0/changes/Changes.html)를 참조해 버전 4.0 이후 새로 추가된 기능 목록을 살펴보고 공식 참조 가이드에서 해당 부분을 읽어보기 바란다. 마지막으로, 한국 독자 여러분이 가장 관심이 많을 법한 솔라에서 한국어 처리와 관련된 정보를 정리해봤다. '검색에서 쓸 만한 오픈소스 한국어 형태소 분석기를 만들자!'라는 목표로 진행되고 있는 은전 한닢 프로젝트(http://eunjeon.blogspot.kr/2013/02/blog-post.html)와 루씬 KoreanAnalyzer 개발을 목표로 진행되고 있는 루씬 한글 분석기 오픈소스 프로젝트(http://sourceforge.net/projects/lucenekorean/)를 참고하면 된다. 온오프라인을 통틀어 솔라에 대한 정보가 부족한 상황에서 아무쪼록 이 책이 독자 여러분들께 조금이라도 도움이 되면 좋겠다.
대표 역자 박재호
(/ '옮긴이의 말' 중에서)

저자소개

라팔 쿠크(Rafal Kuc) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 1종
판매수 98권

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

펼쳐보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

포항공과대학교 컴퓨터공학과 학부와 대학원을 졸업했다. 블로그 ‘컴퓨터 vs 책’(jhrogue.blogspot.com)을 운영하고 있다. [Blog2Book, 열씨미와 게을러의 리눅스 개발 노하우 탐험기], [IT EXPERT, 임베디드 리눅스], [English for Developers](이상 한빛미디어)를 저술했고, [풀스택 개발자를 위한 MEAN 스택 입문](한빛미디어), [조엘 온 소프트웨어], [전문 검색과 분석을 위한 Elasticsearch 서버], [MongoDB NoSQL로 구축하는 PHP 웹 애플리케이션](이상 에이콘) 등을 번역했으며, [클린코드](인사이트), [해커스], [리눅스 시스템 프로그래밍(1판)], [The Art of

펼쳐보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

포항공과대학교 컴퓨터공학과 학부와 퍼듀대학교 전자계산학과 대학원을 졸업했다. 현재 미국 켄터키 주에서 프리랜서 번역가로 일하며 틈나는 대로 좋은 칼럼과 기사를 번역하여 haeyounglee.com에 올린다. 옮긴 책으로는 [조엘 온 소프트웨어], [The Art of Project Management: 마음을 움직이는 프로젝트 관리], [초난감 기업의 조건], [소프트웨어 컨플릭트 2.0], [소프트웨어 크리에이티비티 2.0], [하드 코드: 나 잘난 박사의 IT 정글 서바이벌 가이드], [프로젝트가 서쪽으로 간 까닭은], [명연사.명연설.명강의], [해커스: 세상을 바꾼 컴퓨터 천재들], [클린 코

펼쳐보기

이 상품의 시리즈

acorn+PACKT 시리즈(총 351권 / 현재구매 가능도서 322권)

펼쳐보기

이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

    리뷰

    0.0 (총 0건)

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    7.8

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용