책 소개
◆ 루씬 창시자, 더그 커팅이 추천한 필독서
◆ 정보검색엔진과 솔루션 개발을 위한 실무서
◆ 한국어판 특별부록 ‘루씬 한글 분석기’ 수록
루씬은 확장성이 좋고 빠른 검색엔진이며 성능이 아주 훌륭하고 사용하기도 너무나 간편해서, 여러 오픈소스 프로젝트 중에서도 보석 같은 존재이다. ≪루씬 인 액션: 오픈소스 자바 검색엔진≫은 루씬을 사용하는 데 꼭 필요한 필독서이다. 이 책에는 MS 워드, PDF, HTML, XML 등은 물론 여러 형태의 자료를 색인하는 방법에 대해 설명한다. 뿐만 아니라 검색, 결과 정렬, 결과 필터링, 결과 문자열 하일라이팅 등도 다룬다.
루씬은 이미 다양한 분야에서 역량을 발휘하고 있다. 예를 들어 포춘誌 100대 기업의 다양한 토론 사이트나 상용 이슈 트래킹(issue tracking) 소프트웨어, 마이크로소프트의 아웃룩 검색 소프트웨어, 그리고 최고 수십억 개의 웹페이지를 색인할 수 있도록 설계된 너치와 같은 웹 검색엔진에서도 사용한다. 또 아카마이 Akamai, 오버추어 Overture, 테크노라티 Technorati, 핫잡스 HotJobs, 에피퍼니 Epiphany, 페덱스 FedEx, 메이요 클리닉 Mayo Clinic, MIT, 뉴사이언티스트 New Scientist Magazine, 기타 여러 사이트에서 루씬을 사용하고 있다.
소프트웨어에 검색 기능을 추가하는 작업은 이제 그리 어렵지 않게 됐다. ≪루씬 인 액션: 오픈소스 자바 검색엔진≫은 실무에 적용하기 좋은 다양한 예제와 설명으로 훌륭한 길라잡이가 되어줄 것이다.
★ 이 책에서 다루는 내용 ★
■ 루씬을 여러분의 프로그램에 어떻게 통합할 것인가
■ 다양한 문서 형식을 지원할 수 있는 문서 변환 프레임웍
■ 너치, 더서버사이드, jGuru 등의 사이트에 대한 사례 조사
■ 펄, 파이썬, C#/닷넷, C++ 등의 언어로 만들어진 루씬
■ 정렬, 필터링, 텀 벡터, 다중, 원격 색인 검색
■ 최신 SpanQuery 관련 클래스, 쿼리 분석기 확장, 결과 항목 수집
■ 성능 측정과 최적화
■ 루씬 애드온(결과 하일라이팅, 유의어 참조 등)
■ 한글 자료에 루씬을 어떻게 적용할 것인가
★ 이 책의 구성 ★
1부
기본편 (Core Lucene)
1부 기본편에서는 루씬의 기본 기능을 살펴본다. 루씬 홈페이지에서 루씬 프로그램 JAR 파일을 다운받아 직접 사용해 볼 수 있다. 1장 루씬과의 첫 만남에서는 루씬에 대한 개괄적인 설명과 함께 색인과 검색 기능을 갖는 간단한 프로그램을 살펴본다. 색인과 검색 등의 내용에 대한 자세한 설명은 다음 장에 차례로 이어지는데, 2장 색인에서는 자료와 문서를 색인하는 방법을, 3장 애플리케이션에 검색 추가하기에서는 기본적이고도 중요한 루씬의 검색 기능을 배울 수 있다. 4장 분석에서는 2장에서 간단히 다뤘던 내용을 확장해, 색인하고 검색하고자 하는 원문을 루씬이 어떻게 처리하는지를 알아본다. 루씬의 가장 중요한 기능은 검색이므로, 5장 고급 검색기법에서 루씬에 들어있는 좀더 다양한 검색 기능을 배운다. 마지막으로 6장 확장 검색에서는 여러분이 원하는 독특한 기능을 루씬과 연동할 수 있도록 루씬을 확장하는 방법을 살펴본다.
2부
고급편 (Applied Lucene)
루씬은 그 자체로 보면 단순한 JAR 파일 하나일 뿐이지만, 어떻게 사용하느냐에 따라 여러분에게 아주 유용한 툴이 될 수 있다. 2부 고급편에서는 루씬을 활용할 수 있는 다양한 방법을 살펴본다. 대부분의 프로젝트에서 마이크로소프트 워드 문서, PDF 문서, HTML 문서, XML 문서 등을 처리해야 하는 경우가 많은데, 7장 일반적인 문서 포맷 파싱에서는 독립적으로 재사용 가능한 문서 변환 프레임웍을 구성해서 다양한 문서의 내용을 루씬의 색인에 추가하는 방법을 살펴본다. 8장 툴과 확장기능에서는 루씬을 보조해서 추가적인 기능을 처리할 수 있도록 도와주는 도구들 가운데 특히 훌륭한 몇 가지를 추려서 살펴본다. 루씬 자체를 개발한 주 언어는 자바이지만 다른 언어에서도 루씬의 강력한 기능을 활용할 수 있도록 여러 언어로 만들어졌는데, 9장 언어별 루씬에서는 이처럼 루씬을 다른 프로그래밍 언어, 예를 들어 C++, C#, 파이썬 등의 언어로 만들어낸 프로젝트나 제품들을 살펴본다. 마지막으로 다양한 분야의 사람들이 기고한 10장 사례 연구를 통해 루씬의 능력을 활용해 목표를 달성했던 프로젝트에서 도대체 루씬을 어떻게 사용했는지에 대한 자세한 내막도 들어보자.
★ 이 책의 대상 ★
자신들의 제품이나 솔루션에 강력한 검색 기능을 더하려는 개발자들은 이 책을 꼭 읽어야 한다. 또 단순히 루씬이 어떤 것인지 궁금한 사람에게도 훌륭한 정보를 제공하며, 정보 검색(Information Retrieval) 기술에 대해 공부하는 독자에게도 좋은 교재가 될 수 있다. 그리고 당장은 알아둘 필요가 없다 하더라도, 읽어두면 정보 검색이라는 트렌드에 부응하는 지식을 쌓을 수 있다. 이 책에서는 아파치 프로젝트 가운데 하나인 루씬, 즉 자바 버전의 루씬을 중점적으로 다루며, 대부분의 예제코드도 자바로 작성했다. 따라서 자바에 익숙하다면 아주 편안하게 내용을 이해할 수 있을 것이며, 여러 가지 자바 프로그래밍 경험은 이 책을 읽는 데 큰 도움이 된다. 자바 버전의 루씬이 아니고 C++나 C#, 파이썬, 펄 등의 언어로 루씬을 사용 해도 기본개념과 주요기능은 자바 버전과 거의 같으므로 별다른 어려움 없이 적용할 수 있으리라 본다.
◆ 정보검색엔진과 솔루션 개발을 위한 실무서
◆ 한국어판 특별부록 ‘루씬 한글 분석기’ 수록
루씬은 확장성이 좋고 빠른 검색엔진이며 성능이 아주 훌륭하고 사용하기도 너무나 간편해서, 여러 오픈소스 프로젝트 중에서도 보석 같은 존재이다. ≪루씬 인 액션: 오픈소스 자바 검색엔진≫은 루씬을 사용하는 데 꼭 필요한 필독서이다. 이 책에는 MS 워드, PDF, HTML, XML 등은 물론 여러 형태의 자료를 색인하는 방법에 대해 설명한다. 뿐만 아니라 검색, 결과 정렬, 결과 필터링, 결과 문자열 하일라이팅 등도 다룬다.
루씬은 이미 다양한 분야에서 역량을 발휘하고 있다. 예를 들어 포춘誌 100대 기업의 다양한 토론 사이트나 상용 이슈 트래킹(issue tracking) 소프트웨어, 마이크로소프트의 아웃룩 검색 소프트웨어, 그리고 최고 수십억 개의 웹페이지를 색인할 수 있도록 설계된 너치와 같은 웹 검색엔진에서도 사용한다. 또 아카마이 Akamai, 오버추어 Overture, 테크노라티 Technorati, 핫잡스 HotJobs, 에피퍼니 Epiphany, 페덱스 FedEx, 메이요 클리닉 Mayo Clinic, MIT, 뉴사이언티스트 New Scientist Magazine, 기타 여러 사이트에서 루씬을 사용하고 있다.
소프트웨어에 검색 기능을 추가하는 작업은 이제 그리 어렵지 않게 됐다. ≪루씬 인 액션: 오픈소스 자바 검색엔진≫은 실무에 적용하기 좋은 다양한 예제와 설명으로 훌륭한 길라잡이가 되어줄 것이다.
★ 이 책에서 다루는 내용 ★
■ 루씬을 여러분의 프로그램에 어떻게 통합할 것인가
■ 다양한 문서 형식을 지원할 수 있는 문서 변환 프레임웍
■ 너치, 더서버사이드, jGuru 등의 사이트에 대한 사례 조사
■ 펄, 파이썬, C#/닷넷, C++ 등의 언어로 만들어진 루씬
■ 정렬, 필터링, 텀 벡터, 다중, 원격 색인 검색
■ 최신 SpanQuery 관련 클래스, 쿼리 분석기 확장, 결과 항목 수집
■ 성능 측정과 최적화
■ 루씬 애드온(결과 하일라이팅, 유의어 참조 등)
■ 한글 자료에 루씬을 어떻게 적용할 것인가
★ 이 책의 구성 ★
1부
기본편 (Core Lucene)
1부 기본편에서는 루씬의 기본 기능을 살펴본다. 루씬 홈페이지에서 루씬 프로그램 JAR 파일을 다운받아 직접 사용해 볼 수 있다. 1장 루씬과의 첫 만남에서는 루씬에 대한 개괄적인 설명과 함께 색인과 검색 기능을 갖는 간단한 프로그램을 살펴본다. 색인과 검색 등의 내용에 대한 자세한 설명은 다음 장에 차례로 이어지는데, 2장 색인에서는 자료와 문서를 색인하는 방법을, 3장 애플리케이션에 검색 추가하기에서는 기본적이고도 중요한 루씬의 검색 기능을 배울 수 있다. 4장 분석에서는 2장에서 간단히 다뤘던 내용을 확장해, 색인하고 검색하고자 하는 원문을 루씬이 어떻게 처리하는지를 알아본다. 루씬의 가장 중요한 기능은 검색이므로, 5장 고급 검색기법에서 루씬에 들어있는 좀더 다양한 검색 기능을 배운다. 마지막으로 6장 확장 검색에서는 여러분이 원하는 독특한 기능을 루씬과 연동할 수 있도록 루씬을 확장하는 방법을 살펴본다.
2부
고급편 (Applied Lucene)
루씬은 그 자체로 보면 단순한 JAR 파일 하나일 뿐이지만, 어떻게 사용하느냐에 따라 여러분에게 아주 유용한 툴이 될 수 있다. 2부 고급편에서는 루씬을 활용할 수 있는 다양한 방법을 살펴본다. 대부분의 프로젝트에서 마이크로소프트 워드 문서, PDF 문서, HTML 문서, XML 문서 등을 처리해야 하는 경우가 많은데, 7장 일반적인 문서 포맷 파싱에서는 독립적으로 재사용 가능한 문서 변환 프레임웍을 구성해서 다양한 문서의 내용을 루씬의 색인에 추가하는 방법을 살펴본다. 8장 툴과 확장기능에서는 루씬을 보조해서 추가적인 기능을 처리할 수 있도록 도와주는 도구들 가운데 특히 훌륭한 몇 가지를 추려서 살펴본다. 루씬 자체를 개발한 주 언어는 자바이지만 다른 언어에서도 루씬의 강력한 기능을 활용할 수 있도록 여러 언어로 만들어졌는데, 9장 언어별 루씬에서는 이처럼 루씬을 다른 프로그래밍 언어, 예를 들어 C++, C#, 파이썬 등의 언어로 만들어낸 프로젝트나 제품들을 살펴본다. 마지막으로 다양한 분야의 사람들이 기고한 10장 사례 연구를 통해 루씬의 능력을 활용해 목표를 달성했던 프로젝트에서 도대체 루씬을 어떻게 사용했는지에 대한 자세한 내막도 들어보자.
★ 이 책의 대상 ★
자신들의 제품이나 솔루션에 강력한 검색 기능을 더하려는 개발자들은 이 책을 꼭 읽어야 한다. 또 단순히 루씬이 어떤 것인지 궁금한 사람에게도 훌륭한 정보를 제공하며, 정보 검색(Information Retrieval) 기술에 대해 공부하는 독자에게도 좋은 교재가 될 수 있다. 그리고 당장은 알아둘 필요가 없다 하더라도, 읽어두면 정보 검색이라는 트렌드에 부응하는 지식을 쌓을 수 있다. 이 책에서는 아파치 프로젝트 가운데 하나인 루씬, 즉 자바 버전의 루씬을 중점적으로 다루며, 대부분의 예제코드도 자바로 작성했다. 따라서 자바에 익숙하다면 아주 편안하게 내용을 이해할 수 있을 것이며, 여러 가지 자바 프로그래밍 경험은 이 책을 읽는 데 큰 도움이 된다. 자바 버전의 루씬이 아니고 C++나 C#, 파이썬, 펄 등의 언어로 루씬을 사용 해도 기본개념과 주요기능은 자바 버전과 거의 같으므로 별다른 어려움 없이 적용할 수 있으리라 본다.
목차
목차
- 1부 기본편
- 1장 루씬과의 첫 만남
- 1.1 정보구성 방법과 접근 방법의 발전
- 1.2 루씬이란?
- 1.2.1 루씬은 이것이다!
- 1.2.2 루씬의 역할
- 1.2.3 루씬이 지나온 길
- 1.2.4 누가 루씬을 사용하나?
- 1.2.5 사용 가능한 언어
- 1.3 색인과 검색
- 1.3.1 색인이 뭐지? 왜 중요할까?
- 1.3.2 그렇다면 검색은 무엇인가?
- 1.4 루씬 돌려보기
- 1.4.1 색인 만들기
- 1.4.2 색인 내의 검색
- 1.5 색인 주요 클래스
- 1.5.1 IndexWriter
- 1.5.2 Directory
- 1.5.3 Analyzer
- 1.5.4 Document
- 1.5.5 Field
- 1.6 핵심 검색 클래스
- 1.6.1 IndexSearcher
- 1.6.2 Term
- 1.6.3 Query
- 1.6.4 TermQuery
- 1.6.5 Hits
- 1.7 다른 검색엔진은 어떤 것이 있나?
- 1.7.1 IR 라이브러리
- 1.7.2 색인/검색 소프트웨어
- 1.7.3 그 밖의 정보
- 1.8 요약
- 2장 색인
- 2.1 색인에 대한 이해
- 2.1.1 텍스트 변환
- 2.1.2 분석
- 2.1.3 색인에 쓰기
- 2.2 색인 기본 작업
- 2.2.1 색인에 Document 추가
- 2.2.2 색인에서 Document 삭제하기
- 2.2.3 Document 복구
- 2.2.4 색인의 Document 갱신
- 2.3 Document와 Field에 가중치 지정
- 2.4 날짜 색인
- 2.5 숫자 색인
- 2.6 결과 정렬에 사용할 Field 색인
- 2.7 색인 과정 제어
- 2.7.1 색인 성능 튜닝
- 2.7.2 메모리 기반 색인: RAMDirectory
- 2.7.3 필드 크기 제한: maxFieldLength
- 2.8 색인 최적화
- 2.9 동시성, 스레드 안전성, 락킹 문제
- 2.9.1 동시성 규칙
- 2.9.2 스레드 안전성
- 2.9.3 색인 락
- 2.9.4 색인 락의 비활성화
- 2.10 색인
- 2.11 요약
- 2.1 색인에 대한 이해
- 3장 애플리케이션에 검색 추가하기
- 3.1 간단한 검색 기능 구현
- 3.1.1 특정 단어 검색
- 3.1.2 사람이 입력한 질의 표현식 읽기: QueryParser
- 3.2 IndexSearcher
- 3.2.1 Hits 활용
- 3.2.2 Hits를 이용한 페이징
- 3.2.3 색인을 메모리에 올리기
- 3.3 루씬의 검색결과 순위점수 계산법
- 3.3.1 루씬, 설명할 게 많다!
- 3.4 프로그램으로 질의 만들기
- 3.4.1 텀 검색: TermQuery
- 3.4.2 범위 검색: RangeQuery
- 3.4.3 문자열 검색: PrefixQuery
- 3.4.4 질의 결합: BooleanQuery
- 3.4.5 문장 검색: PhraseQuery
- 3.4.6 와일드카드 검색: WildcardQuery
- 3.4.7 유사 텀 검색: FuzzyQuery
- 3.5 질의 표현식 파싱: QueryParser
- 3.5.1 Query.toString()
- 3.5.2 불린 연산자
- 3.5.3 그룹화
- 3.5.4 필드 선택
- 3.5.5 범위 검색
- 3.5.6 문장 질의
- 3.5.7 와일드카드와 접두어 질의
- 3.5.8 퍼지 질의
- 3.5.9 가중치 질의
- 3.5.10 QueryParser에 대한 고민
- 3.6 요약
- 3.1 간단한 검색 기능 구현
- 4장 분석
- 4.1 분석기 사용
- 4.1.1 색인 분석
- 4.1.2 QueryParser와 분석
- 4.1.3 파싱과 분석: 분석의 한계
- 4.2 분석기 상세 분석
- 4.2.1 토큰의 구성
- 4.2.2 TokenStream의 내부 구조
- 4.2.3 분석기 작동 확인
- 4.2.4 필터링 순서의 중요성
- 4.3 내장 분석기 활용
- 4.3.1 StopAnalyzer
- 4.3.2 StandardAnalyzer
- 4.4 키워드 필드 활용
- 4.4.1 또 다른 KeywordAnalyzer
- 4.5 비슷한 발음 검색
- 4.6 유의어, 별명, 동의어 처리
- 4.6.1 토큰 위치 확인
- 4.7 스테밍 분석
- 4.7.1 빈공간
- 4.7.2 통합
- 4.7.3 문제의 빈 공간
- 4.8 언어 문제
- 4.8.1 유니코드와 인코딩
- 4.8.2 비영어권 텍스트 분석
- 4.8.3 아시아권 텍스트 분석
- 4.8.4 짜이지엔
- 4.9 너치의 분석 방법
- 4.10 요약
- 4.1 분석기 사용
- 5장 고급 검색기법
- 5.1 검색 결과 정렬
- 5.1.1 정렬
- 5.1.2 유사도 정렬
- 5.1.3 색인 순서 정렬
- 5.1.4 필드 정렬
- 5.1.5 정렬순서 변경
- 5.1.6 다중필드 정렬
- 5.1.7 정렬필드 타입 선택
- 5.1.8 지역화 설정
- 5.1.9 성능 효과
- 5.2 PhrasePrefixQuery 사용
- 5.3 동시에 여러 필드 검색
- 5.4 루씬의 새로운 기능: 스팬질의(Span queries)
- 5.4.1 스팬 블록 생성: SpanTermQuery
- 5.4.2 필드 시작부분의 스팬
- 5.4.3 서로 인접한 스팬
- 5.4.4 일치하는 결과에서 중복되는 스팬 제외
- 5.4.5 스팬 확장
- 5.4.6 SpanQuery와 QueryParser
- 5.5 검색 필터링
- 5.5.1 DateFilter
- 5.5.2 QueryFilter
- 5.5.3 보안 필터
- 5.5.4 QueryFilter의 대안
- 5.5.5 필터 결과 캐시
- 5.5.6 기본 필터 이외의 것들
- 5.6 다중 색인에 대한 통합 검색
- 5.6.1 MultiSearcher
- 5.6.2 ParallelMultiSearcher를 이용한 멀티스레드 검색
- 5.7 텀벡터 자세히 보기
- 5.7.1 비슷한 책 찾기
- 5.7.2 카테고리 자동분류
- 5.8 요약
- 5.1 검색 결과 정렬
- 6장 확장 검색
- 6.1 사용자정의 정렬
- 6.1.1 사용자정의 정렬에 사용된 값 읽기
- 6.2 사용자정의 HitCollector
- 6.2.1 BookLinkCollector 소개
- 6.2.2 BookLinkCollector
- 6.3 QueryParser 확장
- 6.3.1 QueryParser 기능 변경
- 6.3.2 퍼지 검색과 와일드카드 검색 차단
- 6.3.3 숫자 범위 질의 처리
- 6.3.4 순서있는 구문 질의
- 6.4 사용자정의 필터 사용
- 6.4.1 필터링 질의
- 6.5 성능 테스트
- 6.5.1 검색 속도 테스트
- 6.5.2 부하 테스트
- 6.5.3 다시 QueryParser
- 6.5.4 성능 테스트의 교훈
- 6.6 요약
- 6.1 사용자정의 정렬
- 2부 고급편
- 7장 일반적인 문서 포맷 파싱
- 7.1 다양한 문서 다루기
- 7.1.1 공통 DocumentHandler 인터페이스 생성
- 7.2 XML 색인
- 7.2.1 SAX를 이용한 파싱 및 색인
- 7.2.2 다이제스터를 이용한 파싱과 색인
- 7.3 PDF 문서 색인
- 7.3.1 PDFBox를 이용한 텍스트 추출과 색인
- 7.3.2 내장된 루씬 지원 기능
- 7.4 HTML 문서 색인
- 7.4.1 HTML 소스 데이터 가져오기
- 7.4.2 JTidy
- 7.4.3 NekoHTML
- 7.5 마이크로소프트 워드 문서 색인
- 7.5.1 POI 이용
- 7.5.2 TextMining.org의 API
- 7.6 RTF 문서 색인
- 7.7 일반 텍스트 문서 색인
- 7.8 문서 처리 프레임웍 만들기
- 7.8.1 FileHandler 인터페이스
- 7.8.2 ExtensionFileHandler
- 7.8.3 FileIndexer 어플리케이션
- 7.8.4 FileIndexer 활용
- 7.8.5 FileIndexer의 장애요소와 프레임웍을 확장하는 방법
- 7.9 다른 텍스트 추출 도구
- 7.9.1 문서 관리 시스템과 서비스
- 7.10 요약
- 7.1 다양한 문서 다루기
- 8장 툴과 확장
- 8.1 루씬 샌드박스
- 8.2 색인과 대화
- 8.2.1 루클리: 명령행 인터페이스
- 8.2.2 루크: 루씬 색인 툴박스
- 8.2.3 리모: Lucene Index Monitor
- 8.3 분석기, 토크나이저, 토큰필터
- 8.3.1 SnowballAnalyzer
- 8.3.2 샌드박스 분석기 얻기
- 8.4 앤트와 루씬을 통한 자바 개발 작업
- 8.4.1 <index> 태스크 활용
- 8.4.2 사용자정의 문서 핸들러 구현
- 8.4.3 설치
- 8.5 자바스크립트 브라우저 유틸리티
- 8.5.1 자바스크립트 질의 구성과 검증
- 8.5.2 특수 문자 처리
- 8.5.3 자바스크립트 사용방법
- 8.6 워드넷과 유의어
- 8.6.1 유의어 색인 구축하기
- 8.6.2 워드넷 유의어를 분석기로 옮기기
- 8.6.3 루씬으로 전화걸기
- 8.7 검색어 하일라이팅
- 8.7.1 CSS와 연계한 하일라이팅
- 8.7.2 Hits 하일라이팅
- 8.8 필터 연결
- 8.9 버클리 DB에 색인 저장
- 8.9.1 DbDirectory 코딩
- 8.9.2 DbDirectory 설치
- 8.10 샌드박스 코드 빌드
- 8.10.1 소스 체크아웃
- 8.10.2 샌드박스와 앤트
- 8.11 요약
- 9장 언어별 루씬
- 9.1 루씬과의 관계
- 9.2 C루씬
- 9.2.1 지원 플랫폼
- 9.2.2 API 호환성
- 9.2.3 유니코드 지원
- 9.2.4 성능
- 9.2.5 사용자층
- 9.3 닷루씬
- 9.3.1 API 호환성
- 9.3.2 색인 호환성
- 9.3.3 성능
- 9.3.4 사용자층
- 9.4 플루씬
- 9.4.1 API 호환성
- 9.4.2 색인 호환성
- 9.4.3 성능
- 9.4.4 사용자층
- 9.5 루피
- 9.5.1 API 호환성
- 9.5.2 색인 호환성
- 9.5.3 성능
- 9.5.4 사용자층
- 9.6 파이루씬
- 9.6.1 API 호환성
- 9.6.2 색인 호환성
- 9.6.3 성능
- 9.6.4 사용자층
- 9.7 요약
- 10장 사례 연구
- 10.1 너치
- 10.1.1 더 자세히 보자
- 10.1.2 너치의 다른 기능
- 10.2 jGuru의 루씬
- 10.2.1 주제어와 문서 분류
- 10.2.2 색인 구조
- 10.2.3 색인 필드
- 10.2.4 색인할 내용 준비
- 10.2.5 질의
- 10.2.6 JGuruMultiSearcher
- 10.2.7 기타
- 10.3 루씬과 서치블록스
- 10.3.1 왜 루씬인가?
- 10.3.2 서치블록스의 구조
- 10.3.3 검색 결과
- 10.3.4 다국어 지원
- 10.3.5 리포팅 엔진
- 10.3.6 요약
- 10.4 엑스트라마인드의 XM-InformationMinder
- 10.4.1 시스템 구조
- 10.4.2 루씬을 통해 얻은 것
- 10.5 앨리어스-i : 루씬으로 다루는 철자변이
- 10.5.1 앨리어스-i 애플리케이션의 아키텍처
- 10.5.2 철자변이
- 10.5.3 노이지 채널 모델을 이용한 철자교정
- 10.5.4 철자변이의 벡터 비교 모델
- 10.5.5 하위단어 루씬 분석기
- 10.5.6 정확도, 효율성, 그 밖의 애플리케이션
- 10.5.7 문맥 혼합
- 10.5.8 참고문헌
- 10.6 검색 예술 마이클스닷컴
- 10.6.1 본문 색인
- 10.6.2 컨텐츠 찾기
- 10.6.3 검색 통계
- 10.6.4 요약
- 10.7 루씬이 최고! 더서버사이드
- 10.7.1 검색 능력 키우기
- 10.7.2 고수준 구조
- 10.7.3 색인 구축
- 10.7.4 검색
- 10.7.5 설정: 모든 것을 관리하는 중심점
- 10.7.6 웹
- 10.7.7 요약
- 10.8 마치면서
- 10.1 너치
- 부록 A 루씬 설치
- A.1 바이너리 설치
- A.2 명령행 데모 실행
- A.3 웹 애플리케이션 데모 실행
- A.4 소스 빌드
- A.5 문제 해결
- 부록 B 루씬 색인 포맷
- B.1 논리적 관점의 색인
- B.2 색인 구조
- B.3 색인파일 구조 선택
- B.4 역파일 색인
- B.5 요약
- 부록 C 참고 문헌
- C.1 국제화
- C.2 언어 감지
- C.3 텀 벡터
- C.4 루씬 포팅
- C.5 사례 연구
- C.6 문서 파서
- C.7 기타 자료
- C.8 IR 소프트웨어
- C.9 더그 커팅의 논문 - 한국어판 특별
- 부록 D 루씬과 한글
- D.1 기본 루씬의 한계
- D.2 루씬 한글 분석기
- D.3 한글 처리와 관련한 그 밖의 문제점
- D.3.1 복합명사
- D.3.2 한 글자 단어