다음은 웹 개발자를 위한 대규모 서비스를 지탱하는 기술을 읽고 정리한 내용입니다 🙌


  • 검색엔진의 노하우를 알아두면 용도특화형 인덱스를 직접 만들어서 대규모 데이터에 대한 문제를 해결할 수 있다.

[강의24] 전문 검색기술의 응용범위

  • 키워드
    • 역 인덱스

전문 검색의 종류

grep 형

  • 전부 읽어가면서 검색하는 것
  • 시간이 오래 걸린다.
  • 즉시성이 좋다 → 문서가 갱신되더라도 바로 검색할 수 있으며 검색누락이 없다.
  • 병렬화 하기가 간단하다 → 분할해서 검색하기 편리하다

suffix 형

  • 검색 가능한 형태로 검색 대상 전문을 보유한다.
  • 구현이 어렵다.

역 인덱스형

  • 단어와 문서를 연관짓는 것
  • 문서와 별도로 역 인덱스를 만들어야 한다. → 즉 전처리가 필요하다. 즉시성이 떨어진다.
  • 인덱스를 압축함으로 컴팩트하게 가져갈 수 있다. 대규모화 하기 가 쉽다.

[강의26]검색엔진의 내부구조

역 인덱스의 구조 - Dictionary + Postings

  • 어떠한 단어 (dictionary 형태)에서 연결되어 있는 문서(postings)를 바로 찾을 수 있는 것.
  • Postings의 경우 문서 ID만을 공유하고 있기도 한데, 문서의 어느 위치에 출현하는지도 보유하기도 한다.