검색 엔진
검색 엔진(search engine)은 문서와 데이터 가운데 사용자의 질의와 관련된 정보를 찾아 순위와 함께 제공하는 정보 검색 시스템이다. 웹 검색 엔진은 공개된 웹 페이지를 발견하고 콘텐츠를 분석해 색인을 구축한 다음 검색어에 맞는 결과를 제시한다. 검색 엔진은 웹 페이지를 직접 표...
| 분류 | 정보 검색 시스템 |
|---|---|
| 역할 | 웹 자원의 발견·색인·검색 |
| 관련 기술 | World Wide Web, HTTP, HTML, URL |
| 참고 명세 | Google Search Central: How Search Works |
검색 엔진(search engine)은 문서와 데이터 가운데 사용자의 질의와 관련된 정보를 찾아 순위와 함께 제공하는 정보 검색 시스템이다. 웹 검색 엔진은 공개된 웹 페이지를 발견하고 콘텐츠를 분석해 색인을 구축한 다음 검색어에 맞는 결과를 제시한다. 검색 엔진은 웹 페이지를 직접 표시하는 웹 브라우저와 구분되며 브라우저의 주소 표시줄에서 검색 서비스를 호출할 수 있다.
웹 문서의 발견에는 웹 크롤러가 사용된다. 크롤러는 기존에 알고 있는 URL, 사이트맵과 하이퍼링크를 바탕으로 새로운 주소를 찾고 해당 서버에 요청을 보낸다. 크롤링 제한 규칙과 서버의 응답 상태, 중복된 주소 및 자원 접근 권한을 고려해야 하므로 웹의 모든 페이지가 항상 수집되는 것은 아니다.
색인 단계에서는 문서의 텍스트와 언어, 제목, 링크 구조, 메타데이터 및 업데이트 시점을 분석한다. 인덱스는 질의와 관련된 문서를 빠르게 찾기 위한 자료 구조이고, 같은 콘텐츠가 여러 URL에 존재하면 정규 URL 선택이나 중복 묶음 처리가 필요할 수 있다. JavaScript로 생성된 콘텐츠를 수집하려면 일부 검색 시스템은 페이지 렌더링 단계를 추가로 수행한다.
검색 결과의 순위는 질의와 문서의 관련성, 정보의 품질, 링크와 사용 맥락 등 여러 신호를 바탕으로 결정될 수 있다. 특정 검색 엔진의 전체 순위 알고리즘은 공개되지 않는 경우가 많고 시간이 흐르면서 변경된다. 사용자는 일반 검색 외에도 이미지·영상·뉴스·학술 자료 등 특정 유형의 검색을 이용할 수 있다.
검색 엔진은 정보 발견을 돕지만 색인 편향과 악성 검색 결과, 검색어 개인정보 보호 같은 문제도 다룬다. 사이트 운영자는 접근 가능한 문서 구조, 정확한 링크, 적절한 메타데이터 및 사이트맵을 제공해 검색 가능성을 높일 수 있다. 반대로 검색 결과 조작을 목적으로 내용과 링크를 왜곡하는 행위는 검색 품질을 저해한다.[1]