1969년 인터넷이 시작됐고 1989년 월드 와이드 웹이 선보였습니다. 1990년 웹에 있는 정보를 검색하기 위해 만들어진 검색 엔진은 30년 남짓한 짧은 시간 동안 눈부신 발전을 거듭했습니다. 키워드로 검색하던 단계를 지나 알고리즘에 의한 개인 맞춤형 엔진으로 더욱 똑똑하게 변신하고 있습니다. 정보의 맞춤형 나침반, 검색 엔진의 역사를 살펴보겠습니다.
검색 엔진의 역사
검색 엔진(Search Engine)은 월드 와이드 웹에 존재하는 정보와 웹 사이트를 검색하기 위한 프로그램입니다. 검색 사이트 (포털 사이트)를 검색 엔진이라 혼용해서 쓰기도 합니다. 1990년 캐나다 맥길대학교에 다니던 앨런 엠티지, 빌 힐런, 피터 도이치는 최초의 인터넷 검색 엔진인 아키 검색 엔진(Archie Search Engine)을 만들었습니다. 아키는 공개 FTP 서버에 있는 파일의 디렉토리 목록을 내려받아 검색가능한 데이터베이스로 만들었습니다. 하지만 아키는 색인을 만들지 않았기 때문에 용량 제한이 있었고 수동으로 관리해야 하는 한계가 있었습니다. 1991년 미네소타 대학의 마크 맥카힐은 PC통신과 비슷한 다단계 정보분류 통신규약인 고퍼를 만들었습니다. 베로니카라는 검색 엔진은 고퍼 목록에 있는 대부분의 제목 검색을 지원했고 저그헤드라는 검색 엔진은 고퍼 서버의 메뉴 정보를 얻는 도구였습니다.
1993년 스위스 제네바 대학의 오스카 니에르스트라츠는 수작업으로 만들어진 목록들을 주기적으로 복사하여 표준화하는 프로그램을 짰는데 표준화된 목록은 검색 엔진인 W3카탈로그의 기초가 되었습니다. 1993년 MIT의 매튜 그래이는 최초의 웹 로봇인 웹 완더러를 개발했고 웹 완더러로 완덱스라는 웹 문서 색인을 만들었습니다. 같은 해 웹의 두 번째 검색 엔진인 알리웹이 등장했는데 알리웹은 웹 로봇을 쓰지 않고 웹사이트 운영자가 등록하는 형태로 운영되었습니다. 점프스테이션은 웹 로봇으로 문서를 찾고 색인을 구성했고 검색어 넣는 프로그램도 웹으로 만들었다. 점프스테이션은 문서수집-색인-검색이라는 검색 엔진의 세 가지 필수기능을 조합해 만든 첫 번째 검색 엔진이었지만 색인은 문서의 제목과 하단의 목차 일부만 가능했습니다.
1994년 문서 전체를 검색해주는 최초의 엔진인 웹크롤러가 등장했습니다. 웹크롤러는 대중에게 알려진 첫 번째 검색 엔진이기도 합니다. 카네기 멜론대에서 같은 해에 만든 라이코스는 상업적 성공을 거둔 첫 번째 검색 엔진이고 이후 마젤란, 익사이트, 인포시크, 잉크토미, 노던 라이트, 알타비스타 등 수많은 검색 엔진이 나타났습니다. 야후는 웹사이트를 찾는 대중적인 엔진이었지만 자체 구축한 웹사이트만 검색할 수 있었습니다. 검색 엔진들마다 검색로직이 달라서 검색어에 따라 검색 엔진들의 검색 결과가 천차만별이었습니다. 이 문제를 해결하기 위해 다른 검색 엔진의 검색결과를 실시간으로 보여주는 메타 검색 엔진이 생겼습니다.
한국은 1995년 코시크(Korseek)가 최초의 한글 검색 엔진으로 소개되면서 한국 웹의 확산에 크게 기여했습니다. 네이버, 다음처럼 디렉토리 검색과 로봇 검색의 장점을 혼합한 서비스가 등장하여 주류를 이루고 있습니다. 1996년 넷스케이프는 브라우저에 독점으로 쓸 검색 엔진으로 야후, 마젤란, 라이코스, 인포시크, 익사이트 등 5개 회사와 계약했습니다. 1990년대 말 인터넷 버블의 수혜주였던 많은 검색 엔진 회사들이 닷컴 버블로 사라졌고 1998년 등장한 구글이 시장을 과점하기 시작했습니다. 구글은 페이지랭크라는 혁신 기술로 더 나은 검색결과를 보여주었고 경쟁자들이 검색 엔진을 웹 포털에 결합해서 운영할 때 검색 엔진 인터페이스를 최소화시켜 유지했습니다. 2004년 야후는 잉크토미, 올더웹, 알타비스타 등 인수한 검색 엔진의 기술력을 조합해 검색 엔진 서비스를 시작했습니다. MS는 MSN 검색을 1998년 시작했고 2009년 빙이라는 검색 엔진을 만들었습니다.
검색엔진의 작동
검색 엔진은 문서수집, 색인, 검색의 순서로 작동합니다. 검색 엔진은 HTML로 되어있는 웹페이지에서 추출한 텍스트를 축적하여 동작하는데 이 페이지들은 웹사이트의 링크를 따라다니면서 문서를 모으는 문서수집기(웹 크롤러)가 추출합니다. 웹의 정보를 긁어오는 소프트웨어를 크롤러, 긁어오는 행위는 크롤링이라고 부릅니다. 개별 페이지의 내용은 문서 제목, 페이지 내용, 목차, 기타 영역으로 나누어 추출하고 색인을 위해 분석되고 검색어가 들어올 것을 대비해 이 웹페이지 데이터는 DB에 적절히 색인됩니다. 색인은 질의한 정보를 최대한 빨리 찾을 수 있도록 돕는데 알타비스타 같이 모든 페이지의 모든 어휘들을 뽑아내어 정보를 저장하는 경우도 있고, 구글처럼 문서의 일부 혹은 전체를 캐시라는 임시저장의 형태로 저장해두기도 합니다.
사용자가 검색 엔진에 검색어를 넣으면 엔진은 색인을 조사해서 가장 잘 맞는 문서를 내놓습니다. 보통 문서 제목 및 검색어가 담겨있는 본문을 추출하여 짧은 요약과 함께 보여줍니다. 색인은 문서 안에서 개별 어휘가 문서의 어디에 있는지 확인해서 축적하는 방식으로 만들어집니다. 검색 엔진들은 검색어를 한정 짓기 위해 and, or, not과 같은 논리연산자를 지원하고 관련검색어 같은 인접검색 기능도 제공합니다. 검색 엔진의 성능은 검색 결과가 얼마나 좋으냐에 따라 결정되기 때문에 검색 엔진은 가장 좋은 문서를 상위에 올리기 위해 정렬방법을 고민합니다. 문서를 찾아내고 보여주는 방법은 인터넷 사용 유형과 기술 발전에 따라 변해왔습니다.
검색엔진 분류
검색엔진은 주제별, 단어별, 메타, 통합 검색엔진 등 4가지로 분류됩니다. 주제별 검색엔진은 정보를 주제별로 분류해서 대분류만 알면 정보를 찾아낼 수 있도록 구성되어 있는데 야후(yahoo)가 대표적입니다. 단어별 검색엔진은 검색어를 입력하면 데이터베이스를 출력해주며 대부분의 검색엔진이 여기에 해당된다. 메타 검색엔진은 많은 검색엔진을 모아 검색하기 편리하게 만든 것으로 스위스 제네바 대학이 개발한 W3가 대표적입니다. 통합 검색엔진은 한 번의 검색으로 여러 엔진을 동시에 검색할 수 있는데 넷 서치(Net Search)가 통합 검색엔진입니다.
검색 엔진의 변화
검색 엔진은 사용자가 입력한 검색어와 동일한 단어가 들어가 있는 페이지를 찾는 키워드 검색 엔진 위주였습니다. 하지만 검색 엔진이 의미론적 검색을 구현할 수 있게 되면서 의미 기반의 검색 기법이 활용되고 있습니다. 의미 기반 검색은 사용자 쿼리의 의미를 해석하고 관련성이 높은 검색 결과를 제공합니다. 개인화 알고리즘은 검색 기록, 위치 기반 결과, 개인화 추천 등 개인 맞춤형 검색 결과로 사용자 경험을 더욱 향상시켰습니다. 2010년대 유튜브나 SNS를 통한 정보 검색이 늘면서 검색 엔진의 입지가 좁아지고 있습니다. 2022년 언어 기반 대화형 인공지능 서비스인 챗지피티(ChatGPT)가 등장하면서 인공지능 검색 엔진이 새로운 비즈니스 모델로 떠오르고 있습니다.
네이버나 구글같은 포털(검색) 사이트의 검색 엔진에 키워드를 넣고 필요한 정보를 찾는 것은 너무도 익숙한 일상입니다. 유튜브에 들어가면 개인화 알고리즘에 따라 키워드를 넣지 않아도 내가 즐겨보는 채널이 제공됩니다. 키워드 방식과 맞춤형 알고리즘 방식의 검색 엔진을 동시에 경험하고 있는 것입니다. 챗지피티 등 인공지능 검색 엔진은 우리에게 어떤 경험을 제공하게 될지 정말 기대가 됩니다.