읽은 글 : 검색엔진이 데이터를 다루는 법

·2020년 8월 30일
1

아침 글읽기

목록 보기
3/7

검색엔진이 데이터를 다루는 법


검색엔진에서는 데이터를 inverted index 라는 구조로 저장한다.

inverted index 는 RDBMS 와 반대 구조이다.
책 제일 마지막에 있는 색인 페이지를 생각하면 쉽다.
가나다순으로 나열된 단어 목록 중에서 찾고하는 단어를 찾아 그 단어가 어느 페이지에 등장하는지를 확인하는 것과 동일하다.

텍스트를 저장할 때 일어나는 처리 과정

  • 대소문자 변환
  • 토큰 재정렬 : 쉽게 말해 가나다순으로 다시 sorting
  • 불용어 제거 : a, an, the 등 검색어로서 가치가 없는 단어 제거
  • 형태소 분석 : ~s, ~ing 등을 제거
  • 토큰 병합 : jumping, jumps, jump 를 모두 같은 jump 라는 토큰으로 병합
  • 동의어 처리 : fast, quick

검색에서 말하는 랭킹 알고리즘이란

검색 과정에서, 클러스터 내 여러 노드가 있을 때 하나의 노드가 검색 쿼리 수행 명령을 받으면 모든 샤드(샤드는 DB나 웹 검색 엔진의 데이터를 수평 분할한 결과물, 한 조각)에서 검색을 실행하고 각 결과 값을 처음 명령 받은 노드로 모으는데, 마지막 단계에서 그 결과를 랭킹 점수 기반으로 sorting 한다. 즉 검색 결과의 순위를 결정하는 것이 랭킹 알고리즘이고 검색은 결과물을 어떤 순서로 노출하느냐가 정말 중요하기 때문에 랭킹 알고리즘은 중요하다!

0개의 댓글