상위: Elasticsearch
요약
인덱싱(Indexing)은 데이터를 검색 가능한 구조로 저장하는 과정입니다. Elasticsearch는 역색인(Inverted Index) 구조를 사용합니다.
Inverted Index (역색인)
- 구조:
단어(Term) -> 문서 ID 목록(Posting List)형태의 맵. - 장점: 특정 단어가 포함된 문서를 매우 빠르게 찾을 수 있습니다.
- 비교: Forward Index는
문서 -> 단어 목록구조로, 내용 파악에는 좋지만 검색에는 비효율적입니다.
Index Alias (별칭)
- 인덱스에 별명을 붙여서 사용합니다.
- 무중단 교체: 새로운 인덱스를 생성하고 Alias가 가리키는 대상을 변경함으로써, 클라이언트 코드 수정 없이 인덱스를 교체할 수 있습니다 (Zero Downtime Migration).
Reindexing
- 매핑 변경 등 인덱스 설정 수정이 필요할 때, 데이터를 새로운 인덱스로 다시 색인하는 작업입니다.
_reindexAPI를 사용합니다.