Top

루씬 인 액션 [오픈소스 자바 검색엔진]

  • 원서명Lucene in Action (ISBN 1932394281)
  • 지은이Erik Hatcher, Otis Gospodnetic
  • 옮긴이이문호, 주성진, 강철구
  • ISBN : 8989975786
  • 30,000원
  • 2005년 10월 15일 펴냄 (절판)
  • 페이퍼백 | 480쪽 | 190*255mm

판매처

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

책 소개

◆ 루씬 창시자, 더그 커팅이 추천한 필독서
◆ 정보검색엔진과 솔루션 개발을 위한 실무서
◆ 한국어판 특별부록 ‘루씬 한글 분석기’ 수록

루씬은 확장성이 좋고 빠른 검색엔진이며 성능이 아주 훌륭하고 사용하기도 너무나 간편해서, 여러 오픈소스 프로젝트 중에서도 보석 같은 존재이다. ≪루씬 인 액션: 오픈소스 자바 검색엔진≫은 루씬을 사용하는 데 꼭 필요한 필독서이다. 이 책에는 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#, 파이썬, 펄 등의 언어로 루씬을 사용 해도 기본개념과 주요기능은 자바 버전과 거의 같으므로 별다른 어려움 없이 적용할 수 있으리라 본다.

저자/역자 소개

★ 저자 소개 ★

에릭 해쳐(Erik Hatcher)

이미 여러 분야에서 다양한 프로그래밍 언어를 사용해 소프트웨어를 만들었으며, 스티브 로런(Steve Loughran)과 함께 업계에서 알아주는 책 중 하나인 Java Development with Ant(Manning, 2002)을 쓰기도 했다. 첫 책인 Java Development with Ant를 출판한 이후 No Fluff, Just Stuff 심포지엄이나 JavaOne 컨퍼런스, O`Reilly의 오픈 소스 컨벤션(Open Source Convention), 오픈 소스 컨텐트 관리 컨퍼런스(Open Source Content Management Conference), 각종 자바 사용자 그룹 모임등에서 강연을 해왔다. 현재 아파치 소프트웨어 재단의 회원으로 활동중이며 루씬, 앤트, 태피스트리 등의 프로젝트에서 왕성하게 활동 중이다.


오티스 고스포드네티치(Otis Gospodnetic)

오티스 고스포드네티치(Otis Gospodnetic)는 4년 넘도록 루씬 프로젝트에 참여했으며, jGuru의 루씬 FAQ8를 운영하고 있다. 현재 학생과 선생님을 위한 솔루션을 개발하는 와이어리스 제너레이션(Wireless Generation)이라는 회사에서 소프트웨어 엔지니어로 일하고 있다. 틈틈이 작업한 심피(Simpy, http://www.simpy.com)라는 북마크 관리 사이트9도 운영하고 있고, O`Reilly 네트워크10와 IBM의 디벨로퍼웍스(developerWorks)에 다양한 글을 기고하고 있다.


★ 저자 서문 ★

인터넷이 처음 시작될 무렵부터 검색이나 색인과 같은 작업을 이래저래 시작했습니다. 1991년쯤에는 majordomo, MUSH(Mail User's Shell)에 펄과 awk를 셸스크립트로 묶어서 메일링 리스트를 관리하는 프로그램을 만들기도 했죠. 그 때는 grep을 이용해 메일링 리스트에 저장된 메일과 사용자 정보를 검색해볼 수 있는 프로그램을 CGI로 구현해 웹으로 사용할 수 있도록 만들었습니다. 그리고나서 야후!를 비롯해 알타비스타나 익사이트와 같은 검색 사이트가 나타났구요.
첫 아이인 제이콥이 태어난 이후로 디지털 카메라로 찍은 사진들이 엄청나게 늘어나기 시작했습니다. 사진이 많아지니 관리하기도 어려워서 '간단한 사진 관리 프로그램'을 만들어보려 했습니다. 사진마다 날짜나 주제어, 찍은 장소 등을 미리 입력해두고 원하는 정보를 기준으로 쉽게 찾아볼 수 있는 것이었죠. 90년대 말에는 마이크로소프트의 제품군을 기반으로 만들어보려 했습니다. 이를테면 인덱스 서버, ASP, 영상 처리를 위한 COM 객체 등을 사용하는 거죠. 그 당시에는 이런 제품들로 작업하는 직업을 갖기도 했고, 이들을 잘 조합해 며칠 작업하면 프로그램 하나를 뚝딱 만들 수가 있었습니다.
시간이 흐르다 보니 직업적으로 마이크로소프트의 제품을 사용하는 일은 줄어들고, 점점 자바 언어를 사용하는 건이 많아졌습니다. 예전에 만들었던 사진 관리 프로그램을 자바, 특히 플랫폼 독립적으로 만들려고 하다 보니 루씬을 사용하게 됐습니다. 루씬은 기대했던 것보다 훨씬 사용하기 쉽더군요. 여러 오픈소스 프로젝트의 라이브러리를 많이 사용해봤지만 루씬처럼 간단한 것은 별로 없었습니다.
2001년에는 스티브 로런(Steve Loughran)과 ≪Java Development with Ant≫라는 책을 써서 매닝 출판사에서 출판했습니다. 예전의 사진 관리 프로그램을 '문서 관리 프로그램'으로 좀더 확장해 위 책에 예제로 넣었는데 조금만 확장하면 이미지 검색 엔진으로도 사용할 수 있는 수준이었죠. 앤트(Ant)와 루씬이 연결되는 건 단순히 컴파일하고 패키징하는 앤트의 기능 외에도 라는 앤트 태그 때문이었습니다. 태그를 이용해 프로그램을 빌드 하는 도중에 색인을 구축할 수 있었죠. 이때 만들었던 태그는 아직도 사용되며 현재 루씬 샌드박스에서 찾아볼 수 있고, 이 책의 8.4절에서도 볼 수 있습니다.
이렇게 만들었던 태그는 제 개인 블로그인 BlogScene (http://www.blogscene.org/erik)에서도 사용하고 있습니다. BlogScene에서 글을 쓰면 자동으로 앤트 작업이 돌아가게 했고, 태그를 통해 제가 쓴 글을 색인에 추가하고 서버에 저장합니다. BlogScene 서버는 서블릿(servlet), 벨로시티 템플릿, 루씬을 사용해 다양한 검색 쿼리를 사용할 수 있고 통합 연동까지 가능하죠. 다른 많은 블로깅 제품만큼 장점이 많지는 않지만 루씬을 사용한 검색만큼은 최고임이 분명합니다.
요즘은 버지니아 주립대학에서 ARP(Applied Research in Patacriticism) 프로젝트에 참여하고 있습니다. 저는 물론 텍스트 분석과 색인, 검색과 관련한 경험을 살리고 양자 물리학이 문학에 어떤 영향을 미쳤는지에 대해 토론하며 안목을 넓히고자 합니다. "문학은 이세상에 알려지지 않은 공학도이다."


★ 역자 소개 ★

강철구

아주대학교 컴퓨터공학과 대학원에서 컴퓨터 비젼(영상 인식)을 전공했고, 교육부 종합생활기록부 프로젝트뿐 아니라, B2B 엔진, 정부 문서유통 소프트웨어, 검색엔진, 홈네트워킹 서비스 등의 개발을 비롯한 다양한 프로젝트에 참여했다. 현재는 루씬을 이용한 검색 솔루션을 개발하고 있으며, 인공지능과 영상 및 정보 검색 등의 다양한 관심사와 관련한 새로운 비즈니스를 준비하고 있다.


주성진

아주대학교 화학공학과를 졸업했고, 5년간 한국정보공학(주)에서 검색엔진 레이다와 제품군을 개발했다. 지금은 유해정보차단 서비스를 하고 있는 플랜티넷㈜에서 차세대 유해차단서비스를 개발 중이다. 영화와 책을 삶의 일부분으로 삼아 지내면서 근래에는 경영/마케팅 서적에 푹 빠져서 생활 중이다. 장래에는 기획형 엔지니어로 성장하는 게 목표이다.


이문호

국립 경상대학교 컴퓨터과학과 및 동 대학원 전자계산학과(영상처리 전공)를 졸업했으며, 내용기반 영상 검색엔진(CBIR), 정보검색엔진과 그룹웨어, 포탈 관련 개발 경험을 쌓았다. 1997년부터 영상처리 홈페이지(http://www.conv2.com)를 운영하면서 영상처리 관련 자료를 제공하며 독자들이 올리는 문의에 답변하는 재미로 지내고 있다. Gonzalez 교수의 저서와 맞먹는 영상처리 고급서를 언젠가 내고 말 거라는 소박한 꿈을 갖고 있으며, 대표 저서로는 ≪Java를 이용한 디지털 영상처리≫ 등이 있다.


★ 역자 서문 ★

1999년 기업용 정보검색엔진을 접했을 때의 첫 느낌은 “참 신기하다”는 것이었습니다. 그때 웹 검색엔진으로는 야후, 엠파스, 한미르, 네이버 등이 있었으며, 검색엔진 시장은 아직 열려 있지도 않았을 때였습니다. 그만큼 정보검색엔진이란 용어는 낯설면서도 신선한 느낌으로 다가왔습니다. 많은 시간이 흘러 구글은 검색엔진의 강자로 올라섰고, 여러 업체에서 검색엔진을 이용해 많은 수익을 창출하고 있습니다. 학교 다닐 때 도서관에서 도서를 검색했던 수준을 넘어 개인화를 반영한 검색엔진으로 성장을 거듭하고 있지만, 아직 우리나라에서 한글의 특성을 반영한 검색엔진을 개발하는 일이 쉽지만은 않습니다. 그런 면에서 정보 검색엔진과 솔루션을 개발하는 과정에서 필요한 실무서가 절실한 상태였습니다.
때마침 더그 커팅이 개발한, 강력하고 유연한 자바 오픈소스 검색엔진 루씬을 다룬 실무서인 ≪Lucene in Action≫을 접했습니다. 이 책을 번역하면서 많은 시행착오를 거치기도 했지만, 정보검색엔진 분야에 있는 역자로서 큰 즐거움을 만끽했습니다. 이제 독자 여러분에게 그 즐거움을 돌려 드리고자 합니다.
자바 프로그래머라면 아파치 자카르타 프로젝트를 한번쯤 들어봤을 것입니다. 루씬은 아파치 자카르타 프로젝트에 속해 있다가 최근 아파치의 최상위 프로젝트로 승격됐습니다. 막강한 기능에도 불구하고 국내에는 아직 널리 알려져 있지 않았습니다. 루씬을 프로젝트에 적용하려는 분들께 ≪루씬 인 액션: 오픈소스 자바 검색엔진≫을 권해드립니다.
이 책, ≪루씬 인 액션: 오픈소스 자바 검색엔진≫은 루씬 최신 버전을 기준으로 색인, 검색, 분석기, 실제 사례 등을 자세하게 소개한 실무서입니다. 아울러 이 책을 읽다 보면 우리가 알 수 없었던 정보검색엔진의 숨겨진 기능이 어떤 것인가를 알게 될 것입니다. 그리고 루씬이 원래 영어권에 적합하게 구성돼있고 동양권 언어에 대한 지원이 미약한 점을 고려해, 한글처리와 관련한 자료를 한국어판 특별 부록으로 실어 국내에서도 루씬을 폭넓게 사용할 수 있는 기반이 될 수 있게 배려했습니다.
여러분이 자신만의 검색엔진을 만드는데 이 책이 훌륭한 길라잡이가 되어 줄 것이라 믿어 마지않습니다. 다만 다른 분야도 마찬가지이지만, 루씬의 기능을 이해하고 코드로 옮겨서 결과를 직접 확인하는 것에 그치지 말고 정보검색엔진과 관련한 지식을 꾸준히 습득하면서 스스로 좋은 작품을 만들 수 있도록 노력해야 좋은 결과물을 얻을 수 있음을 당부드리고 싶습니다. 루씬과 함께 즐거운 여행이 되시길 바랍니다.

- 강철구

목차

목차
  • 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 요약
  • 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 요약
  • 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 요약
  • 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 요약
  • 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 요약
  • 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 요약
  • 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 마치면서
  • 부록 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 한 글자 단어

도서 오류 신고

도서 오류 신고

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

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

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