Keyword Search
키워드 검색
키워드 검색
관련 기술과 원리 (Lucene / ElasticSearch / OpenSearch)
전체 파이프라인
A. 색인 파이프라인
B. 질의(Query) 파이프라인
역색인이 왜 빠른가?
정방향 색인(Forward) vs 역색인(Inverted)
역색인의 내부 구조(postings와 dictionary)
1. Term Dictionary(용어 사전)
2. Posting List(문서 목록)
3. Stored fields / Doc values
Analyzer가 검색 품질 결정
1) Analyzer 구성요소
2) Search-time vs Index-time
3) 한국어가 어려운 이유
랭킹(Score)은 어떻게 계산되나? (BM25 중심)
1) TF-IDF 직관
2) BM25가 TF-IDF를 개선한 지점
3) 필드 가중치(Field boost)
Depth 6. Lucene(라이브러리) vs Elasticsearch/OpenSearch(서버)
1) Lucene
2) Elasticsearch / OpenSearch
이 기술을 “어떻게 적용”하는가
적용 Step 1) 검색 대상 정의
적용 Step 2) 매핑/분석기 설계 (정확도 80%가 여기서 결정)
적용 Step 3) 색인 파이프라인 구축
적용 Step 4) 검색 API 설계
적용 Step 5) 튜닝 & 운영
예시 코드
Lucene 예시 (Java) — 인덱싱 + 검색
이 코드에서 “키워드 검색”이 일어나는 지점
Elasticsearch/OpenSearch 예시 (REST) — 매핑/색인/검색
(1) 인덱스 생성 + 매핑
(2) 문서 색인
(3) 키워드 검색 (multi_match + 필드 가중치)
Last updated