검색엔진/ElasticSearch
Lucene이란?
ZzangHo
2022. 2. 9. 15:22
728x90
Lucene(루씬)이란?
- 오픈소스 기반의 라이브러리
- 검색 엔진의 기본 기능인 색인, 검색, 형태소 분석을 제공
Lucene기반의 대표적인 검색엔진
- ElasticSearch
- Solr
Lucene의 기본개념
- 인덱스(Index)
- 문서(Document)
- 필드(Field)
- 용어(Term)
Term < Field < Document < Index 와 같은 각 단위의 집합 구조
색인
IndexWriter가 IndexFile을 만드는 과정
- 수정이 불가능한 Immutable Type(불변형)
- 여러개로 생성 된 Segments 파일들을 Merge라는 작업을 통해 하나의 색인 파일로 만드는 과정이 필요
- 하나의 Index는 하나의 IndexerWriter로 구성
색인 파일에 대한 루씬 참고자료
검색
IndexWriter로 색인 후 IndexSearch로 검색하는 과정
- IndexSearch는 IndexReader를 통해 검색 수행을 함
- 하나의 Index에는 Segment 별로 N개의 LeafReader가 존재
형태소 분석
입력 받은 문자열에서 형태소를 분리하는 과정