구글 검색은 어떻게 작동할까?

김수영·2022년 1월 3일
0

IT

목록 보기
1/1
post-thumbnail

구글은 사용자가 검색어를 입력하면 지구상의 방대한 양의 웹페이지를 뒤져서 가장 좋은 결과물을 10개로 추린다.
구글은 이 작업을 평균 0.5초만에 할 수 있다. 어떻게 하는 것일까?

먼저 사용자가 검색어를 입력할 때마다 일일이 많은 웹페이지에 접속을 하지 않는다. 대신 데이터베이스에 정보를 저장하고 알고리즘으로 검색어에 맞는 웹페이지를 찾아준다.

크롤링

데이터베이스에 저장되어 있는 웹페이지를 스파이더(spider)라는 프로그램으로 크롤링을 한다. 크롤링은 인터넷 상에 있는 모든 웹페이지를 찾을 때까지 진행이 되며 '색인'을 추가하며 링크를 통해 색인이 없을 때까지 찾는다. 계속 연결을 해나가는 식이다.

크롤링은 항시 진행 주이며, 이 양은 1억 기가바이트가 넘는 방대한 양이라고 한다.

단어 검색

검색어가 가장 많이 나오는 웹페이지를 보여주는 것이다.

이런 방식을 '키워드 밀도'라고 부른다.

하지만 이런 방식은 웹페이지 상단에 나오기 위해 아무 의미없이 검색어를 반복하는 페이지들을 필터링 할 수 없는 단점이 있다.

페이지랭크

페이지랭크는 웹페이지의 점수를 계산할 때 해당 웹페이지를 링크한 다른 모든 웹페이지의 페이지랭크 점수를 집계한다.

구글 창업자 둘이 박사 과정 시절 만든 알고리즘이며 단어가 나오는 양을 보는 것이 아니라 링크를 통해 들어오는 방문량을 측정하는 것이다.

여기서 주의할 점은 단순히 링크의 양이 아니라 질이 중요하다는 것이다. 쉽게 말해 인기없는 블로그가 링크 수십번 하는 것보다 뉴욕타임즈 기사에 링크가 한번 걸리는게 더 높은 점수를 얻는다는 것이다.

또한 검색 사용자의 위치도 반영한다.

football을 검색하면 미국와 영국에서 다른 결과가 나오는 것이다.

하지만 이런 알고리즘에도 단점은 '링크팜'과 같은 단점도 있으며 이것은 서로 연관 없는 링크를 잔뜩 넣은 웹페이지를 생성하는 수법이다.

그래서 구글은 매년 500번 이상의 업데이트를 하며 검색 알고리즘을 수정한다.

구글은 'SEO(Search Engine Optimization)'라 불리우는 검색 엔진 최적화 기술을 보유하고 있는데, 기본적으로 자신의 웹페이지를 검색 결과 최상위에 올리기 위해 자신의 웹페이지를 링크한 웹페이지를 늘리는 것이다.

profile
기술과 인문학의 교차점

0개의 댓글