요약

  • Pinkerton의 1994년 원 논문은 공개 WebCrawler 색인에 9000곳 넘는 서버의 문서 약 5만 건이 있고, 하루 검색이 6000건을 넘으며, 색인을 매주 갱신했다고 기록한다.
  • 같은 소프트웨어에는 색인의 관련 페이지에서 출발해 새 링크를 찾고 문서를 더한 뒤 검색을 반복하는 실시간 모드도 있었다. Pinkerton은 그 기능이 대중에게 제공되지 않았다고 분명히 썼다. 사용자별 탐색이 네트워크에 주는 부담 때문이었다.

한 번 모아 여러 번 찾기

검색기는 질문이 오기 전에 페이지를 읽어 색인을 만들 수 있다. 반대로 질문을 받은 뒤 부족한 페이지를 찾아 나설 수도 있다. WebCrawler는 두 길을 모두 프로그램 안에 넣었다. 일반 이용자가 사용한 길은 먼저 만든 공동 색인이었다. 검색 서버는 저장된 문서의 단어를 살펴보고 관련성이 높은 제목과 URL을 돌려줬다.

시카고 회의에 낸 Pinkerton의 논문을 보면 수집 방식에도 선택이 있었다. 로봇은 아는 페이지의 링크를 따라갔다. 새 서버를 발견하면 이미 찾은 서버를 깊이 파기 전에 그곳의 문서부터 하나 읽으려 했다. 데이터베이스에는 전문 색인과 문서·링크·서버의 관계도가 함께 들어갔다. 문서를 가져오면 방문을 표시하고 밖으로 나가는 링크를 추출한 뒤 제목과 본문의 단어를 등록했다. 한 사이트를 완전히 뒤지는 대신 여러 서버에 먼저 발을 들이는 전략이었다.

논문이 제시한 당시 운영 수치는 문서 약 5만 건, 서버 9000곳 이상, 하루 검색 6000건 이상, 주간 색인 갱신이다. 1994년의 한 서비스 상태를 보여 주는 수치이지 웹 전체의 크기는 아니다. 새 페이지는 다음 수집까지 기다려야 했고, 깊숙한 링크의 페이지는 색인에 들어오지 못할 수도 있었다. 대신 한 번 가져온 문서가 서로 다른 사람의 많은 질문에 다시 쓰였다. 원본 서버에 매번 같은 페이지를 달라고 하지 않아도 됐다.

본문까지 읽은 것도 중요했다. Pinkerton은 방문한 문서 중 20%에 제목이 없었다고 보고했다. 제목만 모은 검색기는 그런 페이지의 내용을 놓친다. 본문 색인은 WebCrawler의 디스크와 계산 자원을 더 썼지만, 네트워크에서 문서를 한 번 읽은 대가를 여러 검색에 나눠 담았다. 공동 색인은 지식을 쌓는 방법인 동시에 수집 비용을 분산하는 방법이었다.

질문을 따라 나서는 두 번째 로봇

실험용 실시간 검색은 먼저 기존 색인에서 질문과 비슷한 문서를 찾았다. 이어 그 문서의 미탐색 링크를 따라가 새 페이지를 가져오고 색인에 넣었다. 같은 질문을 다시 돌리면 새로 올라온 결과가 다음 탐색의 출발점이 될 수 있었다. 비슷한 문서를 충분히 찾거나 시간 제한에 닿으면 멈췄다. Pinkerton은 링크에 적힌 글과 질문을 비교해 무작정 따라가지 않도록 하는 방법도 시험했다.

매주 갱신되는 색인이 놓친 자료를 그때그때 찾을 수 있다는 점에서 매력적이었다. Pinkerton은 사적인 실험에서 검색이 빠르고 방향도 잘 잡혔다고 썼다. 그러나 바로 그 원문은 실시간 검색을 일반 사용자에게 제공하지 않았다고 명시한다. 하루 수천 건의 공개 검색은 공동 색인을 물었다. 각 검색이 개인용 로봇을 새로 출발시킨 것이 아니었다. 그 경계가 서비스의 비용 구조를 결정했다.

공동 색인을 만들 때 방문은 여러 서버로 퍼졌다. Pinkerton의 설명으로는 넓은 수집 과정에서 한 서버가 방문을 받는 간격은 촘촘해도 몇 시간 정도였다. 모은 자료는 이후 많은 독자가 썼다. 개인 검색은 한 사람의 결과를 만들려고 수집 프로그램을 움직인다. 수만 명이 동시에 같은 방식을 쓰면 외부 서버들은 서로 비슷한 페이지를 거듭 보내고, 그 성과는 질문한 사람에게만 남는다. Pinkerton은 당시 네트워크에서 대중에게 이를 널리 열기 어렵다고 판단했다.

그 결정에는 최신성의 희생이 따랐다. 공동 색인은 빠르지만 주간 갱신 사이에 나온 페이지를 놓친다. 즉시 탐색은 새 링크를 따라 그 페이지를 발견할 수 있다. 다만 그 새로움은 방문당한 사이트의 네트워크 비용을 요구한다. Pinkerton은 개인 탐색에서 발견한 문서를 주 색인에 되돌려 나중 사람도 이용하게 하는 방안을 장래 과제로 적었다. 아직 공개 기능이 아니었던 까닭과, 공개하려면 무엇을 공유해야 하는지가 함께 드러나는 대목이다.