본문 바로가기

Archived(IT)/배경지식_챗봇

검색 엔진(Search Engine)

검색 엔진(Search engine)

인터넷 초기에는 모든 웹 서버를 하나의 목록으로 만들어 관리할 만큼 자료의 양이 많지 않았기 때문에 그 중에서 원하는 자료를 찾는 것이 어렵지 않았다. 하지만 인터넷 환경이 점점 발달함에 따라 웹 상에는 엄청난 양의 자료들이 넘쳐나기 시작했고, 이 방대한 자료 중에서 자신이 원하는 자료를 찾는 것은 매우 힘든 일이 되었다.

 

웹에 존재하는 많은 양의 정보 중에서 사용자가 원하는 정보만을 여러 웹 사이트나 웹 페이지 등에서 검색해 주는 시스템이나 프로그램 등을 통틀어 검색 엔진(search engine)이라고 한다. 이러한 검색 엔진은 사용자가 원하는 정보를 웹에서 찾는데 걸리는 시간을 최소화할 수 있게 도와준다.  

 

검색 엔진의 동작 원리

검색 엔진은 크게 웹크롤링(Web crawling), 색인화(Indexing), 검색(Searching)의 세 단계의 순서로 작동한다. 웹크롤링 과정은 사이트의 모든 페이지를 복사한다. 웹 상의 방대한 정보들을 미리 수집하는 것이다. 이는 최신 데이터를 우선으로 하여 이루어진다. 현재 대부분의 검색 엔진에서는 웹상의 방대한 정보들을 검색하고 색인화하는 과정을 크롤러(crawler)라고 부르는 정보 수집 프로그램을 사용하여 수행하고 있다. 이러한 크롤러가 주기적으로 웹에 접속된 사이트들을 방문하여 해당 웹 사이트가 가지고 있는 정보에 대해 색인을 작성한 후 그것을 데이터베이스에 저장하여 검색 시 활용하게 된다.

 

이후 인덱싱 과정에서는 정확하고 빠른 검색이 가능하도록 데이터의 수집과 저장, 분석이 이루어진다. 마지막 과정인 검색(Searching)은 검색어를 구성하는 단어가 포함된 제목, 주제 등을 추출한다. 이러한 일련의 과정을 통해 검색이 이루어진다.

 

검색 엔진의 종류

검색 엔진의 종류는 웹에서 수집한 정보를 색인하는 방법에 따라 크게 다음과 같이 나눌 수 있다.

 

(1) 로봇 에이전트 검색 엔진(Robot Agent)

크롤러(Crawler)라고 불리는 로봇을 이용하여 웹상의 데이터를 효율적으로 수집하고, 이렇게 수집한 데이터를 키워드(keyword)에 대한 색인을 통해 사용자에게 제공하는 검색 엔진이다. Google이나 Naver 등 현재 사용되는 대부분의 검색 엔진이 이 방식을 채택하고 있다. 로봇 에이전트(robot agent)가 방대한 웹페이지 정보를 미리 수집하여 어휘 체계에 따라서 자동으로 분류 저장하며 확장하는 DB를 통해 검색 서비스를 제공하는 엔진이다. 로봇 에이전트들의 활동으로 구성된 색인(index)정보가 잘못될 경우 정보검색은 심각한 장애를 만나게 된다는 단점이 있다.

 

(2) 디렉토리 검색 엔진(Directory)

이용자가 직접 자신의 웹페이지의 정보들을 등록한주제 분류에 의한 검색(디렉토리 서비스)을 제공하는 검색 엔진이다. 현재 주류인 방식은 아니며, 1990년대 Yahoo 등에서 사용되었다. 정보자체는 사람의 판단에 의하여 분류하므로 고급정보를 제공한다는 장점이 있고, 로봇 에이전트형 검색엔진에 비하여 상대적으로 데이터베이스의 양이 적다는 단점이 있다.

 

(3) 메타 검색 엔진(Meta)

자체적으로는 정보를 보유하고 있지 않으면서 사용자가 입력한 키워드를 복수의 다른 검색 엔진으로 전송하여 결과를 얻고, 그 결과들을 종합하여 표시만 해 주는 검색 엔진이다. 여러 검색 엔진의 결과를 동시에 보여주기 때문에 결과를 한눈에 살펴보기에는 편하다는 장점이 있고, 메타 검색 과정을 한 번 더 거쳐야 하므로 속도가 느리다는 단점이 있다.

 

검색 엔진 최적화(Search Engine Optimization, SEO)

다양한 타입의 검색 엔진이 자신만의 방법으로 웹상의 수많은 웹 페이지에서 자료를 수집하여 사용자에게 그 결과를 제공하고 있다. 이러한 검색 결과의 상위에 자신의 웹 페이지가 노출되기 위해서는 각 검색 엔진이 자료를 수집하고 검색 결과를 산출하는 방식에 맞춰 웹 페이지의 구성을 조정해야만 한다.

 

이렇게 각각의 검색 엔진에 맞춰 웹 페이지 내의 키워드(keyword)나 링크(link) 등을 최적화하는 작업을 검색 엔진 최적화(SEO)라고 한다. 검색 엔진의 검색 결과 상위에 웹 페이지가 노출되면 자연스럽게 해당 웹 페이지의 방문자가 늘어나므로, 현재는 중요한 웹 마케팅 수단으로 보고 있다.

 

출처 : TCP School, NDSL