다음을 통해 공유


FAST Search 웹 크롤러를 사용하여 웹 콘텐츠 크롤링

 

적용 대상: FAST Search Server 2010

마지막으로 수정된 항목: 2015-03-09

FAST Search 웹 크롤러에서는 네트워크의 웹 서버에서 웹 항목 또는 웹 페이지를 수집합니다. 이 작업은 일반적으로는 기관 또는 기업의 바운딩된 네트워크에서 이루어지지만 전체 인터넷을 크롤링할 수도 있습니다.

FAST Search 웹 크롤러는 웹 서버에서 콘텐츠를 다운로드하는 웹 브라우저처럼 다양한 방식으로 작동합니다. 하지만 마우스 클릭이나 키보드를 통해 사용자 입력에만 응답하는 웹 브라우저와 달리 FAST Search 웹 크롤러는 웹 항목 요청 시 구성 가능한 규칙 집합에 따라 작동합니다. 여기에는 항목 요청 간 대기 시간이나 새 항목 또는 업데이트된 항목을 확인하기 전 대기 시간 등이 포함됩니다.

FAST Search 웹 크롤러 작동 방식

FAST Search 웹 크롤러는 크롤링 구성을 포함하는 XML 파일의 매개 변수에 지정된 포함 및 제외 규칙에 대해 시작 URL 목록을 비교하는 것부터 시작합니다. 시작 URL 목록은 start_uris 또는 start_uri_files 설정을 사용하여 지정되거나 include_domainsexclude_domains 설정을 통해 규칙을 사용하여 지정됩니다. 그러고 나면 delay 설정에 구성된 요청 속도에 따라 결정된 속도로 웹 서버에서 유효한 URL이 요청됩니다.

올바르게 가져온 웹 항목은 대개 FAST Search 웹 크롤러에 기본 제공되는 HTML 파서를 통해 하이퍼링크 및 다른 메타 정보에 대해 구문 분석됩니다. 웹 항목의 메타 정보는 FAST Search 웹 크롤러 메타 데이터베이스에 저장되며, 웹 항목 콘텐츠(HTML 본문)는 FAST Search 웹 크롤러 저장소에 저장됩니다. 하이퍼링크는 크롤링 규칙에 따라 필터링된 후 다운로드할 다음 URL 집합으로 사용됩니다. 이 프로세스는 모든 연결 가능한 콘텐츠가 수집될 때까지, 새로 고침 간격(refresh 설정)이 완료될 때까지 또는 크롤링 범위를 제한하는 다른 구성 매개 변수에 도달할 때까지 계속됩니다.

특정 웹 크롤링 시나리오에 맞게 구성을 조정하는 방법에는 여러 가지가 있습니다. 다음 표에서는 FAST Search 웹 크롤러를 설정하고 제어하는 데 사용되는 기본적인 개념 몇 가지를 소개합니다.

개념 설명

크롤링 모음

동일한 구성으로 크롤링된 웹 사이트 집합을 크롤링 모음이라고 합니다. 웹 크롤러는 동시에 여러 크롤링 모음을 크롤링하여 단일 또는 개별 콘텐츠 모음으로 전송할 수 있습니다.

크롤링 저장소

FAST Search 웹 크롤러에서는 크롤링 중에 크롤링된 콘텐츠를 디스크에 로컬로 저장합니다. 콘텐츠는 웹 항목 콘텐츠와 메타데이터라는 두 가지 유형으로 나눠집니다.

포함 규칙

포함 규칙은 포함해야 할 웹 콘텐츠를 지정합니다. 하지만 FAST Search 웹 크롤러에서 크롤링을 시작해야 할 위치를 정의하지는 않습니다.

제외 규칙

제외 규칙은 크롤링에 포함되지 않아야 할 호스트 이름, URL 또는 URL 패턴을 지정합니다.

시작 URL 목록

먼저 크롤링 및 수집하고 나서 추가 하이퍼링크를 추출한 다음 규칙과 일치하는지 테스트한 후 추가 크롤링을 위해 작업 큐에 추가할 URL 목록입니다.

새로 고침 간격

FAST Search 웹 크롤러가 웹 사이트를 다시 크롤링하여 새 콘텐츠 또는 수정된 콘텐츠를 확인하기 전에 실행되는 간격 시간(분)입니다. 크롤러가 충분한 시간 동안 모든 콘텐츠를 크롤링할 수 있도록 하려면 새로 고침 간격을 높게 설정해야 합니다. 새로 고침 간격을 계산하는 방법에 대한 자세한 내용은 크롤링 일정 결정을 참조하십시오.

요청 속도

delay 설정을 사용하여 구성된 단일 웹 사이트에 대한 개별 요청 간 시간(초)입니다. 이 옵션을 0으로 설정하여 가능한 빨리 크롤링할 수도 있지만 이렇게 하려면 웹 서버 소유자의 권한이 필요합니다. 유연성을 높이기 위해 variable delay 설정을 사용하여 요청 속도를 서로 다른 시간이나 요일로 지정할 수 있습니다.

동시 웹 사이트

각 노드 스케줄러가 동시에 크롤링해야 하는 최대 웹 사이트 수입니다. 크롤링해야 할 웹 사이트 수가 이 수보다 많으면 그에 맞게 새로 고침 간격을 늘려야 합니다.

크롤링 속도

지정된 모음의 웹 사이트에서 웹 항목이 수집되는 속도입니다. 최대 속도는 동시 웹 사이트 수를 요청 속도로 나눈 값입니다.

중복 문서

경우에 따라 여러 URL이 한 웹 항목을 참조할 수도 있습니다. 동일한 웹 항목이 여러 번 인덱싱되지 않도록 하기 위해 각각의 고유한 웹 항목 복사본이 하나만 인덱싱되도록 중복 검색이라는 메커니즘이 사용됩니다.

FAST Search 웹 크롤러 작동 방식

FAST Search 웹 크롤러를 시작하거나 중지하려면 노드 컨트롤러를 사용합니다. 노드 컨트롤러는 명령줄 도구인 nctrl.exe를 통해 액세스합니다. 웹 크롤러는 내부적으로 프로세스와 논리적 구성 요소의 모음으로 구성되며, 이러한 요소는 흔히 단일 서버에서 실행됩니다. 웹 크롤러를 여러 서버에 분산시키면 FAST Search 웹 크롤러를 통해 많은 웹 사이트에서 여러 웹 항목을 수집하고 처리할 수 있습니다. 다음 표에는 이러한 구성 요소 및 관련 프로세스가 나와 있습니다.

구성 요소 프로세스 함수

노드 스케줄러

crawler.exe

단일 팜 서버에서 웹 크롤링을 예약합니다.

다중 노드 스케줄러

crawler.exe

여러 팜 서버에서 웹 크롤링을 예약합니다.

사이트 관리자

crawler.exe

노드 스케줄러를 통해 관리되는 웹 크롤링을 수행합니다.

사후 프로세스

postprocess.exe

중복 검색을 수행하고 콘텐츠를 전송합니다. 노드 스케줄러를 통해 관리되지만 모든 콘텐츠를 인덱서로 다시 전송하는 데 개별적으로 사용할 수도 있습니다.

파일 서버

crawlerfs.exe

항목 처리를 통해 FAST Search 웹 크롤러에서 웹 페이지를 검색할 수 있습니다. 노드 스케줄러와 사후 프로세스를 통해 관리됩니다.

중복 서버

ppdup.exe

팜 서버에서 중복 검색을 수행합니다.

Browser Engine

browserengine.exe

웹 항목에서 콘텐츠 및 하이퍼링크 추출을 처리합니다. JavaScript가 지원될 때만 사용됩니다.

FAST Search 웹 크롤러를 단일 서버에 배포한 경우 기본 프로세스는 노드 스케줄러입니다. 여기에는 호스트 이름을 IP 주소로 확인하고 크롤링 구성 및 기타 전역 작업을 유지하는 등의 여러 작업이 포함됩니다. 또한 웹 사이트를 사이트 관리자 프로세스 중 하나로 라우팅하는 작업도 수행합니다. 노드 스케줄러는 노드 컨트롤러를 통해 시작되거나 중지되며, 다른 웹 크롤러 프로세스를 시작 및 중지합니다.

사이트 관리자는 웹 사이트별 작업 큐를 관리하며, 페이지를 가져오고, 웹 항목 콘텐츠 체크섬을 계산하며, 웹 항목을 디스크에 저장하고, 필요할 경우 웹 사이트 인증과 같은 관련 작업을 수행합니다.

사후 프로세스에서는 중복 항목을 확인하기 위해 웹 항목 체크섬의 데이터베이스를 유지하는 것은 물론 인덱싱할 수 있도록 웹 항목을 전송하기도 합니다. 작은 웹 항목은 항목 처리 파이프라인으로 직접 전송되지만 큰 웹 항목은 URL 참조로만 전송됩니다. 파일 서버 프로세스에서는 웹 항목 콘텐츠를 요청하는 모든 파이프라인 단계에 해당 콘텐츠를 제공합니다.

크롤링해야 할 전체 웹 항목 수 또는 웹 사이트 수가 많을 경우 FAST Search 웹 크롤러를 여러 서버에 분산시켜 확장할 수 있습니다. 이 배포 시나리오에서는 추가 프로세스가 시작됩니다. 이 배포 시나리오에서는 호스트 이름을 IP로 확인하는 다중 노드 스케줄러가 추가되며 중앙 집중식 구성 및 로깅을 포함하고 URL을 해당 노드 스케줄러로 라우팅합니다. 각 노드 스케줄러에는 사후 프로세스가 로컬로 계속 존재합니다. 하지만 이제는 이러한 각각의 사후 프로세스에서 웹 항목 체크섬을 중복 서버로 전송해야 하며, 중복 서버는 URL 및 콘텐츠 체크섬의 전역 데이터베이스를 유지합니다.

이 섹션의 내용