아파치 Solr 4 구축과 관리 [오픈소스 루씬 기반 엔터프라이즈 검색 플랫폼]
- 원서명Apache Solr 4 Cookbook (ISBN 9781782161325)
- 지은이라팔 쿠크
- 옮긴이박재호, 이해영
- ISBN : 9788960775497
- 35,000원
- 2014년 04월 30일 펴냄 (절판)
- 페이퍼백 | 408쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 오픈소스 프로그래밍
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
요약
이 책은 검색과 관련된 기본 프레임워크를 제공하는 아파치 루씬(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장 문제 해결
- 개요
- 너무 많이 열린 파일 처리
- 메모리 부족 문제 해결
- 비영어권 자료의 적절한 정렬
- 색인을 작게 만들기
- 솔라 문제 진단
- 스와핑 피하기
- 부록 : 실제 상황