Core Class For Indexing
- IndexerWriter, Directory, Analyzer, Document, Field
- Document(Fields) -> Analyzer -> IndexWriter -> Directory
IndexWriter
- 색인을 새로 생성하거나 기존 색인에 Document를 추가/삭제/변경하는 기능 담당
Directory
- Lucene의 색인을 저장하는 공간
- Abstract Class
* 저장 공간에 따라 Directory Class를 상속받아 Method로 구현
- IndexWriter Class 생성 시 Method에 Directory 지정
Analyzer
- 텍스트를 단어 단위로 분리, 불필요 단어 제거 기능 담당
- Abstract Class
- IndexWriter Class 생성 시 Methode에 Analyzer 지정
Document
- 개별 필드의 집합, 가상 문서
* Field : 문서 내용, 메타 정보 저장
Field
- Document에 같은 이름의 Field가 두개 이상 존재 가능
* 추가된 순서대로 값을 연결해 색인
* Lucene은 기본적으로 일반 텍스트와 숫자만 다룸
- jaa.lang.String, java.io.Reader, int, float 등만 처리
Core Class For Search
- IndexSearcher, Term, Query, TermQuery, TopDocs
IndexSearcher
- 검색 담당 클래스
- 여러 종류의 검색 Method 지원
- IndexSearcher 생성 Method -> Directory Instance 지정 -> 색인 검색
Term
- 검색 과정 구성 기본 단위
Query
- BooleanQuery, PhraseQuery, PrefixQuery, PhrasePrefixQuery, TermRangeQuery,
NumericRangeQuery, FilteredQuery, SpanQuery
- setBoost(float) Method : 검색 -> 문서 최종 연관도 점수 계산 시 높은 가중치 지정
TermQuery
- Field에 원하는 단어가 들어있는 문서 검색
TopDocs
- 검색 결과 클래스
- 각 문서에는 정수형 docID, float형 점수 저장
'SearchEngine > Lucene' 카테고리의 다른 글
Lucene Application Structure (0) | 2020.06.22 |
---|---|
About Lucene (0) | 2020.06.22 |