구글은 사용자가 검색어를 입력하면 무려 30조 개가 넘는 웹페이지를 뒤져서 가장 좋은 결과물을 10개로 추린다.
구글은 이 작업을 평균 0.5초만에 할 수 있다.
어떻게 그럴 수 있을까?

먼저 구글은 인터넷상의 모든 웹페이지를 데이터베이스에 저장한다.
이후 구글이 검색 알고리즘을 이용하여 연관성이 큰 웹페이지를 찾는데, 이 알고리즘은 몇가지 종류가 있다.
1) 가장 기본적으로는 Ctrl+F방식이다.
검색어가 가장 많이 나오는 웹페이지를 보여주는 것이다.
이런 방식을 '키워드 밀도'라고 부른다.
하지만 이런 방식은 웹페이지 상단에 나오기 위해 아무 의미없이 검색어를 반복하는 페이지들을 필터링 할 수 없는 단점이 있다.
2) 구글은 대신 '페이지랭크(PageRank)'라는 알고리즘을 이용한다.
페이지랭크는 웹피이지의 점수를 계산할 때 해당 웹페이지를 링크한 다른 모든 웹페이지의 페이지랭크 점수를 집계한다.
예를 들어 우리가 '에이브러햄 링컨'을 소개하는 웹페이지를 만들었다고 치자. 처음에는 페이지랭크 점수가 무척 낮을 것이다. 그러다 다른 블로그에서 이 웹페이지를 링크하면 페이지랭크 점수가 조금씩 올라간다.
여기서 주의할 점은 단순히 링크의 양이 아니라 질이 중요하다는 것이다. 쉽게 말해 인기없는 블로그가 링크 수십번 하는 것보다 뉴욕타임즈 기사에 링크가 한번 걸리는게 더 높은 점수를 얻는다는 것이다.
또한 검색 사용자의 위치도 반영한다.
football을 검색하면 미국와 영국에서 다른 결과가 나오는 것이다.
3) 페이지랭크 알고리즘의 단점도 존재한다.
바로 '링크팜'이라 불리우는, 서로 연관 없는 링크를 잔뜩 넣은 웹페이지를 생성하는 수법이다.
구글은 수시로 검색 알고리즘을 수정하면서 이런 수법에 대응한다.
실제로 연간 500건 이상의 검색알고리즘 업데이트를 진행하고 있다.
구글은 'SEO(Search Engine Optimization)'라 불리우는 검색 엔진 최적화 기술을 보유하고 있는데, 기본적으로 자신의 웹페이지를 검색 결과 최상위에 올리기 위해 자신의 웹페이지를 링크한 웹페이지를 늘리는 것이다.
※ 본 포스팅은 'IT 좀 아는 사람' 책의 내용을 바탕으로 작성하였습니다.
최근댓글