Elastic Search 2

엘라스틱 서치에서의 역인덱싱

역 인덱싱 (Inverted Index)란? : 엘라스틱 서치에서의 분석기가 문자열을 토큰화하여 이를 인덱싱하는 기법 책 뒷면에 있는 색인(찾아보기)를 생각하면 쉽다. 어떠한 단어가 있고, 해당 단어가 전체 책에서 몇 페이지에 있는 지 적혀져있다. 우리가 찾고자하는 단어가 적혀져있는 내용을 보려면, 찾아보기 페이지를 통해 적혀져있는 페이지로 가서 관련 내용을 가서 보면 된다. 위 그림에서 보면 도큐먼트 2개에 검색 되어질 문장 2개가 있고, 분석기를 통해서 토큰화 되고 가공된 문자들이 오른쪽 테이블처럼 역인덱싱되어 저장이 된다. RDBMS 저장과의 비교 해당 그림에서와 같이 RDBMS에서는 Like 검색을 하게 된다. 그렇기 때문에, 특정 단어 fox를 찾기 위해선, doc1 ~ doc5까지 모든 도큐먼..

Elastic Search 2023.02.14

엘라스틱 서치에서의 유사도 점수 (Score)

스코어 (score) 점수 : 검색된 결과가 검색 조건과 얼마나 일치하는지를 점수로 계산하여 response로 보내준다. - 쿼리와 관련이 높은 검색결과(도큐먼트)일수록 더 높은 점수를 받는다. - 높은 점수일수록 우리가 원하는 검색결과일 가능성이 크다. 계산방법 - BM(Best Matching)25라는 알고리즘을 사용해서 점수를 계산한다. 해당 알고리즘에는 총 3가지의 구성 요소가 있다. 1. TF (Term Frequency) : 검색하려는 특정 용어가 하나의 도큐먼트에 얼마나 많이 등장했는가? 중요한 건 하나의 도큐먼트(문서)에서 검색하려는 용어가 얼마나 많이 등장했냐는 것이다. 예를 들어, "쥬라기 공원"이라는 용어를 검색했을 때, "쥬라기 공원"이라는 단어가 5번 들어 있는 웹 페이지 보다는 ..

Elastic Search 2023.02.13