2. Apache Lucene이라는 이름으로 Apache의 최상위 프로
젝트에 등록되어 있는 오픈 소스
검색 애플리케이션의 핵심을 이루는 정보검색(IR,
Information Retrieval) 소프트웨어 라이브러리
LUCENE이란?
3. 1. 가공되지 않은 컨텐츠를 수집.
2. 다큐먼트 생성: 가공되지 않은 컨텐츠로부터, 검색 애
플리케이션이 이해할 수 있는 다큐먼트를 생성.
3. 다큐먼트 분석: 색인 작업을 수행하기 전에, 다큐먼트
가 가지고 있는 내용의 어느 부분을 색인할 지 결정하기
위해 다큐먼트를 분석.
검색 애플리케이션의 작동과정
4. 4. 다큐먼트 색인: 다큐먼트가 생성되고 분석된 다음에 다
큐먼트를 색인. 이러한 색인 작업을 통해서 다큐먼트의
내용 전체를 보지 않고 특정한 키만 가지고도 다큐먼트를
추출할 수 있음.
5. 검색을 위한 사용자 인터페이스: 색인으로 이루어진 데
이터베이스가 준비되었다면, 애플리케이션은 사용자가
검색할 수 있도록 사용자 인터페이스를 제공하여야 함.
검색 애플리케이션의 작동과정
5. 6. 질의 생성: 사용자가 텍스트를 입력하면, 애플리케이션
은 색인 데이터베이스로부터 관련된 상세정보를 구하는
데 사용될 수 있는 질의 객체를 구성.
7. 질의 검색: 질의 객체를 사용하여 관련된 상세정보와
콘텐츠를 얻기 위해 색인 데이터베이스를 열람.
8. 결과 전시: 결과가 얻어지면, 애플리케이션은 사용자
인터페이스를 이용하여 결과를 전시.
루씬은 과정 2에서부터 과정 7까지의 역할을 수행.
검색 애플리케이션의 작동과정
6. • 색인부(indexer)
가공되지 않은 문서를 색인하는 부문
• 검색부(searcher)
색인부에서 생성된 색인을 이용해서 질문을 받아
관련된 문서를 검색하는 부문
COMPONENTS OF LUCENE
7. 색인부의 주요 클래스:
1. IndexWriter: 색인부의 핵심 클래스로서 색인을 만
들고 업데이트.
2. Directory: 색인의 저장공간을 관리.
3. Analyzer: 색인 작업이 수행될 텍스트로부터 토큰
(단어)를 추출하기 위해 다큐먼트를 분석.
4. Document: 필드로 구성되어 있는 가상의 문서, 분
석기는 다큐먼트만 이해할 수 있음.
5. Field: 색인 작업에서 사용되는 가장 작은 단위.
문서의 본문이나 제목, 파일경로와 같은 메타데이터
를 값으로 가짐.
INDEXER
10. 검색부의 주요 클래스:
1. IndexSearcher: 색인을 읽어 들이고 검색하는 검
색부의 핵심 클래스.
2. Term: 검색 작업에서 사용되는 가장 작은 단위.
3. Query: 색인을 검색하는 데 사용되는 질의.
4. QueryParser: 사용자가 입력한 텍스트를 분석하
여 질의로 변환시키는 작업을 수행.
5. TopDocs: 검색 조건에 부합하는 상위 N개의 검색
결과를 가리키는 클래스.
SEARCHER