앞서 작성되어있듯이 검색엔진은 역색인 방식을 통하여 검색 성능을 향상시킨다.
이번에는 역색인 방식에 대해 알아보았다.
0. 역색인이란?
주어진 키워드에 대해서 해당 키워드가 포함된 데이터의 위치를 추적해내는 것
우리가 검색하고자 하는 검색어를 입력하면 역색인은 검색어에 대해 요청이 들어왔을 때 해당 검색어들을 포함하고 있는 데이터들을 찾아내는 것을 의미한다.
✅ 색인 : 책 맨 앞의 목차
✅ 역색인 : 책 맨 뒷 부분의 색인
* 검색엔진에서 각 문장의 단어 (term, token) 을 분리하고 정렬한 다음, 어느 document 에 있는지 표시하는 방식을 통해 Inverted Index 를 활용하고 이를 통해 검색 성능을 향상시킨다고 한다.
1. 검색엔진에서의 역색인
검색엔진은 검색어 입력 후 검색어에 대한 형태소 분석이 끝나면 역색인 작업을 한다.
역색인은 키워드에 문서들의 Primary Key , 주소, 파일명 등 과 같은 값을 매핑하여 저장하는 기술이다.
역색인 작업을 하게 되면 매우 빨리 찾을 수 있고, 검색 속도가 매우 빠르다는 장점이 있다.
그리고 키워드가 여러개 있어도 속도에 큰 영향을 주지 않는다.
[ 참조 : https://needjarvis.tistory.com/345 ]
2. RDBMS와의 차이
RDBMS에서는 LIKE 검색을 사용하기 때문에 데이터의 증가에 따라 성능속도도 저하되고, 기본적인 속도 자체가 느리다.
하지만 검색엔진은 데이터를 저장할 때 역인덱스 구조를 만들어 저장하기 때문에 성능면에서 RDBMS 보다 뛰어나다고 할 수 있다.
RDBMS 는 데이터가 늘어나면 찾아야 할 행이 늘어나는 것인데
검색엔진은 데이터가 늘어나면 Inverted Index가 가리키는 id 의 배열값이 추가되는 것 뿐이기 때문에 큰 속도의 저하가 없다.
[ 참조 : https://woongsin94.tistory.com/345 ]
'실무관련' 카테고리의 다른 글
[ SOLR ] 검색어 맞춤 검색 방법 (0) | 2023.08.10 |
---|---|
[ SOLR ] 형태소 분석 (0) | 2023.08.08 |
[ DB ] 관계형 데이터베이스 RDBMS (0) | 2023.08.01 |
[ SOLR ] 솔라 검색 (0) | 2023.08.01 |
[ Maven ] 로컬 library (jar) 추가 후 build 오류 (1) | 2023.05.10 |