- 루씬에서는 색인(indexing)과 질의(query)를 위해 텍스트 분석을 한다.
- 텍스트 분석은 Analyzer에서 한다.
- 그리고, highlighting에도 Analyzer가 필요하다.
- 색인과정의 텍스트 분석
- IndexWriter 인스턴스 생성시 Analyzer 인스턴스를 지정해야 한다.
- QueryParser
- QueryParser 인스턴스 생성시 Analyzer 인스턴스를 지정해야 한다.
- 이때, QueryParser에서는 문장전체가 아닌, 연산자 괄호, 범위, 와일드카드, 퍼지 검색 등의 표현식 문법을 제외하고 검색어로 판단되는 부분만 분석기에 전달한다.
- 분석기 내부 구조
- Analyzer 클래스 : 모든 분석기 클래스의 최상위 추상 클래스
- 입력받은 text를 일련의 token으로 변환
- 일련의 Token은 TokenStream 클래스로 표현
- Analyzer를 상속받은 모든 분석기 클래스가 구현해야 하는 메소드
TokenStream 메소드 하나이다.
- 입력받은 text를 일련의 token으로 변환
참고 - Analyzer 클래스 : 모든 분석기 클래스의 최상위 추상 클래스
- (개정판)루씬 인 액션(2013), 마이클 맥캔클래스 등
'Computer > Lucene' 카테고리의 다른 글
Lucene 4.10.3 Demo (0) | 2015.03.04 |
---|