Written by
최태열
on
on
ElasticSearch의 역색인이란?
역색인(Inverted index)
문서에 번호가 지정된 것이 아니라 단어마다 어느 문서에 들어가 있는지 기록해 놓는 방법이다.
문서번호 | 단어 |
---|---|
1 | 바나나 먹는 원숭이 |
2 | 사과 먹는 원숭이 |
일반적인 색인 방식
단어 | 문서번호 |
---|---|
바나나 | 1 |
사과 | 2 |
먹는 | 1, 2 |
원숭이 | 1, 2 |
역색인 방식
- 해당 단어를 찾으면 해당 단어가 포함된 모든 문서를 알 수 있다.
역색인의 장점
빠른 검색
색인 구조를 가진 RDBMS의 경우 처음부터 끝까지 읽어야만 검색된 내용이 포함된 결과를 알 수 있다.
하지만 역색인 구조는 해당 단어만 찾으면 단어가 포함된 위치를 바로 알 수 있으므로 검색이 빠르다.
데이터가 늘어나도 속도 저하가 적다
데이터가 늘어날 경우 검색해야 하는 행이 늘어나는 것이 아니라 역 인덱스가 가리키는 번호의 배열값이 추가되기 때문에 속도 저하가 덜하다.
역색인 구조의 저장과정
-
문서의 토큰화
문서를 역색인으로 저장할 수 있게 각각의 토큰으로 바꿔준다.
-
토큰화된 단어를 역색인 table에 저장한다.
Discussion and feedback