본문 바로가기
SearchEngine/Lucene

Core Class

by Dev_Mook 2020. 6. 23.

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