이 장에서는 Sun JavaTM System Portal Server 검색 서버를 구성하고 관리하는 방법을 설명합니다.
이번 장은 다음 절로 구성됩니다.
Portal Server 검색 서버는 Google, Alta Vista 등과 같이 널리 사용되는 인터넷 검색 서버와 유사한 검색 및 찾아보기 인터페이스를 지원하기 위해 설계된 분류법 및 데이터베이스 서비스입니다. 검색 서버에는 문서 자원을 발견, 변환 및 요약하는 데 사용하는 로봇이 포함되어 있습니다. Portal Server 데스크탑에는 JSPTM(JavaServer PagesTM)를 바탕으로 한 검색 사용자 인터페이스가 포함되어 있습니다. 검색 서버에는 구성 편집을 위한 관리 도구와 시스템 관리를 위한 명령줄 도구가 포함되어 있습니다. 구성 설정은 Portal Server 관리 콘솔을 통해 정의 및 저장할 수 있습니다.
관리자는 관리 콘솔에서 대부분의 검색 서버 옵션을 구성할 수 있지만 관리 콘솔이 명령줄 인터페이스를 통해 사용할 수 있는 모든 관리 기능을 수행하지는 않습니다.
사용자는 자원을 찾기 위해 검색 서버의 데이터베이스를 쿼리합니다. 각 데이터베이스의 개별 항목을 자원 설명(RD)이라고 합니다. 자원 설명은 단일 자원에 대한 요약 정보를 제공합니다. 데이터베이스 스키마는 각 자원 설명의 필드를 결정합니다.
검색 서버는 RDM(Resource Description Messages) 및 SOIF(Summary Object Interchange Format)와 같은 개방형 인터넷 표준을 바탕으로 하므로 여러 플랫폼에 걸친 기업 환경에서 작동할 수 있습니다.
사용자는 두 가지 방법으로 검색 시스템과 상호 작용합니다. 직접 쿼리를 입력하여 데이터베이스를 검색하거나 사용자가 설계한 범주 집합을 사용하여 데이터베이스 컨텐트를 찾아볼 수 있습니다. 범주의 계층을 분류법이라고도 합니다. 자원을 범주화하는 것은 데이터베이스의 목차를 만드는 것과 같습니다.
또한 찾아보기 기능은 검색 시스템의 선택 기능입니다. 즉, 범주별 찾아보기 기능이 없는 검색 시스템을 사용할 수 있습니다. 찾아보기 가능한 범주를 추가하는 것이 인덱스 사용자에게 유용할지를 결정한 다음 어떤 종류의 범주를 만들 것인지 결정해야 합니다.
검색 데이터베이스의 자원을 범주에 할당하면 복잡도가 줄어듭니다. 데이터베이스에 매우 많은 항목이 있는 경우 이를 관련 항목으로 그룹화하는 것이 도움이 됩니다. 이를 통해 사용자는 특정 유형의 항목을 신속하게 찾고 유사한 항목을 비교하고 필요한 항목을 선택할 수 있습니다.
이러한 분류는 제품 및 서비스 인덱스에서 일반적입니다. 의류 카탈로그는 남성복, 여성복, 아동복으로 구분되며 각각은 다시 코트, 셔츠, 신발 등으로 세분됩니다. 사무 용품 카탈로그는 문구, 컴퓨터 및 소프트웨어에서 가구를 분리시킬 수 있습니다. 또한 광고 디렉토리는 제품 및 서비스 범주별로 배치됩니다.
인쇄된 인덱스의 범주별 그룹화 원칙은 온라인 인덱스에도 적용됩니다. 이 개념은 사용자가 특정 유형의 자원을 쉽게 찾아 필요한 것을 선택하도록 하는 것입니다. 설계한 인덱스 범위와 상관 없이 범주를 설정할 때의 주안점은 사용 편의성에 두어야 합니다. 즉, 사용자가 해당 범주를 어떻게 사용할 것인가를 알아야 합니다. 예를 들어 각각 다른 장소에 3개의 사무실이 있는 회사의 인덱스를 설계하는 경우 3개 사무실 각각에 해당하는 최상위 범주를 만들어야 합니다. 사용자가 지리적인 경계를 넘어 업무 부서에 더 관심이 있는 경우 자원을 회사의 부서별로 분류하는 것이 타당할 것입니다.
범주를 정의한 후에는 자원을 범주에 할당하기 위한 규칙을 설정해야 합니다. 이러한 규칙을 분류 규칙이라고 합니다. 분류 규칙을 올바로 정의하지 않으면 사용자가 범주 찾아보기로 자원을 찾을 수 없게 됩니다. 자원을 잘못 분류하는 것도 피해야 하지만 문서를 분류하지 않는 실수도 조심해야 합니다.
Sun Java System Portal Server는 하나 이상의 검색 서버를 지원할 수 있습니다.
Portal Server 설치 중에 기본 검색 서버(search1)가 생성됩니다. 또한 검색 서버 만들기 마법사를 사용하여 새 검색 서버를 만들 수 있습니다.
관리 콘솔에 로그인하려면의 절차를 수행합니다.
메뉴 표시줄에서 [검색 서버], [새로 만들기]를 차례로 선택합니다.
새 검색 서버 마법사가 나타납니다.
지침에 따라 수행한 다음 [마침]을 눌러 지정된 검색 서버를 만듭니다.
Sun Java System Portal Server 7.2 Command-Line Reference의 psadmin create-search-server
관리 콘솔에 로그인하려면의 절차를 수행합니다.
검색 서버를 선택한 다음 [삭제]를 누릅니다.
Sun Java System Portal Server 7.2 Command-Line Reference의 psadmin delete-search-server
검색 서버는 자원 설명을 데이터베이스에 저장합니다. 검색 데이터베이스는 문서 컬렉션 인덱스이며인덱서(rdmgr 명령 또는 검색 서버 자체)에서 생성됩니다. 예를 들어, 기본적으로 웹 사이트를 탐색하도록 로봇을 설정할 수 있으며 로봇은 찾은 모든 웹 사이트를 사용자가 데이터를 검색할 수 있는 기본 검색 데이터베이스로 인덱싱합니다. 다른 데이터베이스에 대한 데이터나 인덱스 역시 마찬가지입니다.
다음은 데이터베이스를 관리하기 위해 수행해야 하는 몇 가지 구성 및 유지 관리 작업입니다.
일반적으로 검색 데이터베이스의 항목은 로봇에서 제공됩니다. 다른 Portal Server 검색 서버에서, iPlanet Web Server나 NetscapeTM Enterprise Server에서, 또는 다른 소스로부터 생성된 데이터베이스에서 기존 항목의 데이터베이스를 가져올 수도 있습니다. 로봇을 보내 새로 만드는 대신 기존 RD 데이터베이스를 가져오는 것이 네트워크 트래픽의 양을 줄이는 데 도움이 됩니다. 이렇게 하면 대규모 인덱싱 작업을 작게 나누어 더욱 신속하게 완료할 수 있습니다. 중앙 데이터베이스가 인덱싱할 서버에서 물리적으로 멀리 떨어져 있는 경우에는 RD를 로컬로 생성하고 정기적으로 원격 데이터베이스를 중앙 데이터베이스로 가져오는 것이 도움이 될 수 있습니다.
검색 서버는 가져오기 에이전트를 사용하여 다른 서버나 데이터베이스에서 RD를 가져옵니다. 가져오기 에이전트는 외부 소스로부터 다수의 RD를 검색하여 이 정보를 로컬 데이터베이스로 병합하는 프로세스입니다.
데이터베이스를 가져오려면 먼저 가져오기 에이전트를 만들어야 합니다. 에이전트를 만든 후에는 즉시 가져오기 프로세스를 시작하거나 정기적으로 가져오기 프로세스를 실행하도록 일정을 수립할 수 있습니다.
스키마는 검색 서버가 각 자원에서 관리할 정보와 그 형태를 결정합니다. 스키마의 설계는 인덱스 사용에 영향을 주는 두 가지 요소를 결정합니다.
사용자가 자원을 검색하는 방식
사용자가 자원 정보를 보는 방식
스키마는 데이터베이스에 있는 자원 설명의 마스터 데이터 구조입니다. 이 데이터 구조에서 필드를 정의하고 인덱싱하는 방식에 따라 사용자가 자원에 액세스하는 수준이 달라집니다.
스키마는 검색 서버와 로봇이 사용하는 파일 구조와 밀접하게 연관되어 있습니다. 관리 콘솔의 스키마 도구를 사용하여 데이터 구조만 변경해야 하며절대 스키마 파일을 직접 편집해서는 안 됩니다.
검색 서버의 데이터베이스 스키마를 편집하여 새 스키마 속성을 추가하거나 기존 스키마 속성을 수정하거나 속성을 삭제할 수 있습니다.
스키마에는 다음과 같은 속성이 있습니다.
편집 가능 – 이 속성을 선택하면 값을 변경할 수 있도록 속성이 자원 설명 편집기에 표시됩니다.
인덱싱 가능 – 이 속성을 선택하면 사용자가 이 특정 필드에서 값을 검색할 수 있습니다. 인덱싱 가능 필드는 [고급 검색] 화면의 팝업 메뉴에도 표시될 수 있습니다.
설명 – 이 속성은 스키마를 설명하는 데 사용하는 텍스트 문자열입니다. 주석 또는 부연 설명에 사용할 수 있습니다.
별칭 – 이 속성을 사용하면 가져온 데이터베이스 스키마 이름을 사용자 고유의 스키마로 변환하기 위한 별칭을 정의할 수 있습니다.
점수 승수 – 특정 요소의 점수를 매기기 위한 가중치 필드입니다. 양수값이면 모두 사용할 수 있습니다.
데이터 유형 – 데이터 유형을 정의합니다.
데이터베이스 스키마의 필드에 사용되는 이름 사이에 불일치가 생길 수 있습니다. 한 서버에서 다른 서버로 자원 설명을 가져오는 경우 두 서버가 스키마 항목에 동일한 이름을 사용한다고 항상 보장할 수는 없습니다. 마찬가지로 로봇이 문서의 HTML <meta> 태그를 스키마 필드로 변환할 때 문서가 이름을 제어합니다.
검색 서버를 사용하면 스키마 속성에 대해 스키마 별칭을 정의하여 이러한 외부 스키마 이름을 데이터베이스의 필드에 대해 유효한 이름으로 매핑할 수 있습니다.
검색 서버는 각 데이터베이스에서 인덱싱한 사이트 수와 자원의 수에 대한 정보가 있는 보고서를 제공합니다.
인덱싱된 필드를 추가하거나 제거하기 위해 스키마를 편집했거나 디스크 오류로 인덱스 파일이 손상된 경우 검색 서버에 대한 자원 설명 데이터베이스를 다시 인덱싱해야 할 수 있습니다. 또한 어떤 다른 이유로 데이터베이스 컨텐트와 인덱스 사이에 불일치가 있는 경우 다시 인덱싱해야 합니다. 예를 들면, 인덱싱하는 동안 시스템 장애가 발생한 경우가 있을 수 있습니다.
대규모 데이터베이스를 다시 인덱싱하면 여러 시간이 걸릴 수 있습니다. 데이터베이스를 다시 인덱싱하는 데 필요한 시간은 데이터베이스의 레코드 수에 따라 달라집니다. 대규모 데이터베이스인 경우에는 서버 사용량이 적을 때 다시 인덱싱을 수행합니다.
날짜가 지난 자원 설명을 제거하는 것이 데이터베이스 만료 작업입니다. 자원 설명은 만료 작업을 실행할 때만 제거됩니다. 만료된 자원 설명이 삭제되지만 데이터베이스 크기는 줄어들지 않습니다.
자원 설명의 한 속성은 만료 날짜입니다. 로봇은 HTML <meta> 태그로부터 또는 자원 서버에서 제공한 정보로부터 만료 날짜를 설정할 수 있습니다. 기본적으로 자원 설명은 자원에서 다른 만료 날짜를 지정하지 않은 경우 만들어지고 나서 3개월 후에 만료됩니다. 검색 서버는 데이터베이스에서 만료된 자원 설명을 정기적으로 제거해야 합니다.
제거 작업을 통해 데이터베이스의 컨텐트를 제거할 수 있습니다. 인덱스에 사용된 디스크 공간이 복구되지만 주 데이터베이스에 사용하는 디스크 공간은 복구되지 않고데이터베이스에 추가되는 새 데이터에 다시 사용됩니다.
검색 서버를 사용하면 각 검색 데이터베이스를 구성하는 물리적 파일을 여러 디스크, 파일 시스템, 디렉토리 또는 파티션에 배치할 수 있습니다. 데이터베이스를 여러 물리적 또는 논리적 장치에 걸쳐 분산시키면 단일 장치의 수용 능력보다 큰 데이터베이스를 만들 수 있습니다.
기본적으로 검색 서버는 한 디렉토리만 사용하도록 데이터베이스를 설정합니다. 명령줄 인터페이스를 사용하면 데이터베이스 파티션에서 두 가지 작업을 수행할 수 있습니다.
새 파티션 추가
파티션 이동
검색 서버는 개별 파티션에 남은 공간이 있는지 확인하는 어떠한 검사도 수행하지 않습니다. 따라서 데이터베이스를 위한 적절한 여유 공간을 유지 관리하는 것은 사용자의 책임입니다.
최대 15개 파티션까지 새 데이터베이스 파티션을 추가할 수 있습니다.
한 번 파티션 수를 증가시키면 나중에 이 수를 줄이기 위해 전체 데이터베이스를 삭제해야 합니다.
그러나 충분한 디스크 공간이 있다면 파티션을 사용하지 않는 것이 좋습니다.
데이터베이스 파티션의 물리적 위치를 변경하려면 새 위치의 이름을 지정합니다. 마찬가지로 기존 파티션의 이름을 변경할 수 있습니다. rdmgr 명령을 사용하여 파티션을 조작합니다. psadmin 명령에 대한 자세한 내용은 Sun Java System Portal Server 7.2 Command Line Reference를 참조하십시오.
다음 지침에 따라 데이터베이스를 관리합니다.
관리 콘솔에 로그인하려면의 절차를 수행합니다.
[검색 서버] 탭을 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [데이터베이스], [관리]를 차례로 누릅니다.
[새로 만들기]를 누릅니다.
새 데이터베이스 페이지가 표시됩니다.
새 데이터베이스 이름을 입력하고 [확인]을 누릅니다.
Sun Java System Portal Server 7.2 Command-Line Reference의 psadmin create-search-database
관리 콘솔에 로그인하려면의 절차를 수행합니다.
[검색 서버] 탭을 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [데이터베이스], [가져오기 에이전트]를 차례로 누릅니다.
[새로 만들기]를 눌러 마법사를 시작합니다.
가져오기 에이전트 속성을 지정합니다.
속성에 대한 자세한 내용은 Sun Java System Portal Server 7.2 Technical Reference의 Import Agents를 참조하십시오.
[마침]을 누릅니다.
Sun Java System Portal Server 7.2 Command-Line Reference의 psadmin create-search-importagent
관리 콘솔에 로그인하려면의 절차를 수행합니다.
[검색 서버] 탭을 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [데이터베이스], [관리]를 차례로 누릅니다.
데이터베이스를 선택하고 [자원 설명 관리]를 누릅니다.
[새로 만들기]를 누르고 속성을 지정합니다.
속성에 대한 자세한 내용은 Sun Java System Portal Server 7.2 Technical Reference의 Schema를 참조하십시오.
[확인]을 누릅니다.
관리 콘솔에 로그인하려면의 절차를 수행합니다.
[검색 서버] 탭을 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [데이터베이스], [관리]를 차례로 누릅니다.
데이터베이스를 선택하고 [자원 설명 관리]를 누릅니다.
[자원 설명]을 선택하여 다음 작업 중 하나를 수행합니다.
편집
모두 편집
삭제
속성에 대한 자세한 내용은 Sun Java System Portal Server 7.2 Technical Reference의 Schema를 참조하십시오.
[저장]을 누릅니다.
Sun Java System Portal Server 7.2 Command-Line Reference의 psadmin modify-search-resourcedescription
검색 서버는 검색 활동을 모니터링할 수 있도록 다양한 보고서를 제공합니다.
관리 콘솔에 로그인하려면의 절차를 수행합니다.
[검색 서버] 탭을 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [보고서]를 누릅니다.
메뉴 표시줄에서 링크를 눌러 특정 보고서를 봅니다.
다음과 같은 옵션을 사용할 수 있습니다.
로그
고급 로봇 보고서
인기 있는 검색
제외된 URL
다음과 같은 범주 관리 작업을 사용할 수 있습니다.
관리 콘솔에 로그인하려면의 절차를 수행합니다.
탭에서 [검색 서버]를 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [범주], [찾아보기/검색]을 차례로 선택합니다.
[새로 만들기]를 누릅니다.
[새 검색 범주 만들기] 대화 상자가 나타납니다.
필요에 따라 속성을 지정합니다.
속성에 대한 자세한 내용은 Sun Java System Portal Server 7.2 Technical Reference의 Manage Categories를 참조하십시오.
[확인]을 누릅니다.
관리 콘솔에 로그인하려면의 절차를 수행합니다.
[검색 서버] 탭을 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [범주], [찾아보기/검색]을 차례로 누릅니다.
범주를 선택하고 [편집]을 눌러 범주 편집 페이지를 표시합니다.
속성에 대한 자세한 내용은 Sun Java System Portal Server 7.2 Technical Reference의 Manage Categories를 참조하십시오.
관리 콘솔에 로그인하려면의 절차를 수행합니다.
[검색 서버] 탭을 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [범주], [자동 분류]를 차례로 누릅니다.
[자동 분류 실행]을 누릅니다.
관리 콘솔에 로그인하려면의 절차를 수행합니다.
[검색 서버] 탭을 누른 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [범주], [자동 분류]를 차례로 누릅니다.
필요에 따라 속성을 수정합니다.
속성에 대한 자세한 내용은 Sun Java System Portal Server 7.2 Technical Reference를 참조하십시오.
[저장]을 누릅니다.
이 장에서는 Sun JavaTM System Portal Server 검색 서버 로봇 및 해당 구성 파일에 대해 설명합니다. 이번 장은 다음 항목으로 구성됩니다.
검색 서버 로봇은 해당 도메인에서 자원을 확인하고 이에 대해 보고하는 에이전트입니다. 이 작업은열거자 필터와 생성기 필터를 사용하여 수행합니다.
열거자 필터는 네트워크 프로토콜을 사용하여 자원의 위치를 찾습니다. 이 필터는 각 자원을 테스트하고 해당 자원이 적절한 기준을 만족하는 경우 표시합니다. 예를 들어, 열거자 필터는 HTML 파일에서 하이퍼텍스트 링크를 추출하고 이 링크를 사용하여 추가 자원을 찾을 수 있습니다.
생성기 필터는 자원 설명(RD)을 만들어야 하는지 여부를 결정하기 위해 각 자원을 테스트합니다. 자원이 테스트에 통과하면 생성기가 검색 서버 데이터베이스에 저장되는 RD를 만듭니다.
로봇을 관리하는 데 필요한 구성 및 유지 관리 작업은 다음 절에서 설명합니다.
그림 19–1에서는 로봇이 URL 및 그와 연관된 네트워크 자원을 검사하는 방법을 보여줍니다. 열거자 및 생성기가 각 자원을 테스트합니다. 자원이 열거 테스트를 통과하면 로봇이 여기에 추가 URL이 있는지 검사합니다. 자원이 생성기 테스트에 통과하면 로봇이 검색 서버 데이터베이스에 저장되는 자원 설명을 생성합니다.
로봇 구성 파일이 로봇의 작동을 정의합니다. 이러한 파일은 /var/opt/SUNWportal/searchservers/searchserverid/config 디렉토리에 있습니다. 다음 목록에는 각 로봇 구성 파일에 대한 설명이 정리되어 있습니다.
로봇이 생성하는 RD를 분류하는 데 사용하는 규칙이 포함되어 있습니다.
로봇이 사용하는 열거 및 생성 필터를 정의합니다.
로봇의 사이트 정의, 시작 위치 URL, mime 유형을 바탕으로 한 필터링 규칙 및 URL 패턴이 포함되어 있습니다.
로봇에 대한 대부분의 작업 등록 정보를 정의합니다.
검색 서버 관리 인터페이스를 사용하여 대부분의 등록 정보를 설정할 수 있기 때문에 대개는 robot.conf 파일을 편집할 필요가 없습니다. 그러나 고급 사용자는 인터페이스를 통해 설정할 수 없는 등록 정보를 설정하기 위해 이 파일을 직접 편집할 수 있습니다.
로봇은 자원을 찾고 이러한 자원의 설명을 데이터베이스에 추가할지 여부를 결정합니다. 방문할 서버와 이러한 서버에서 인덱싱할 부분을 결정하는 작업을 사이트 정의라고 합니다.
로봇에 대한 사이트 정의는 서버 관리자가 수행해야 하는 가장 중요한 작업 중 하나입니다. 인덱싱이 필요한 모든 서버로 로봇을 전송해야 하지만 데이터베이스를 잠식하여 올바른 정보를 찾기 어렵게 만드는 외부 사이트는 제외시켜야 합니다.
로봇은 인덱싱하도록 선택된 여러 사이트에 대한 링크를 추출하고 해당 링크를 따라 탐색합니다. 시스템 관리자는 다음을 포함한 다양한 설정을 통해 이러한 프로세스를 제어할 수 있습니다.
로봇 시작, 중지 및 일정 계획
로봇이 방문하는 사이트 정의
로봇이 얼마나 적극적으로 검색하는가를 결정하는 탐색 속성
로봇이 필터를 정의하여 인덱싱을 수행하는 자원 유형
로봇이 인덱싱 속성을 정의하여 데이터베이스에 만드는 항목 종류
로봇 탐색 속성에 대한 자세한 내용은 Sun Java System Portal Server 7.2 Technical Reference를 참조하십시오.
필터를 사용하면 자원을 식별하고 필터 정의에 따라 자원 속성을 비교하여 자원을 포함 또는 제외시킬 수 있습니다. 로봇에는 다양한 필터가 사전 정의되며 그 일부는 기본적으로 사용됩니다. 다음 필터가 사전 정의됩니다. 별표가 있는 필터는 기본적으로 사용되는 필터입니다.
아카이브 파일*
오디오 파일*
백업 파일*
이진 파일*
CGI 파일*
이미지 파일*
Java, JavaScript, Style Sheet 파일*
로그 파일*
Lotus Domino 문서
Lotus Domino OpenViews
플러그 인 파일
PowerPoint 파일
개정 제어 파일*
소스 코드 파일*
스프레드시트 파일
시스템 디렉토리(UNIX)
시스템 디렉토리(NT)
임시 파일*
비디오 파일*
새 필터 정의를 만들거나 기존 필터 정의를 수정하거나 필터를 사용 또는 사용 해제할 수 있습니다. 자세한 내용은 자원 필터링 프로세스를 참조하십시오.
로봇에는 두 개의 디버깅 도구 또는 유틸리티가 포함됩니다.
검색 데이터를 최신으로 유지하려면 로봇이 사이트를 정기적으로 검색하여 인덱싱해야 합니다. 로봇 탐색 및 인덱싱 작업에는 프로세싱 자원과 네트워크 대역폭이 많이 소모되므로 사용량이 많지 않은 요일과 시간에 로봇이 실행되도록 계획해야 합니다. 관리자는 관리 콘솔을 사용하여 로봇을 실행할 일정을 설정할 수 있습니다.
이 절에서는 로봇을 관리하는 다음 작업에 대해 설명합니다.
관리 콘솔에 로그인하려면의 절차를 수행합니다.
메뉴 표시줄에서 [검색 서버]를 선택합니다. 서버 목록에서 검색 서버를 선택합니다.
메뉴 표시줄에서 [로봇]을 누른 다음 메뉴에서 [상태 및 제어]를 누릅니다.
[시작]을 누릅니다.
Sun Java System Portal Server 7.2 Command-Line Reference의 psadmin start-robot
psadmin start-robot 명령의 경우 로봇이 탐색에 사용할 사이트가 정의되지 않으면 검색 로봇이 시작되지 않습니다. psadmin start-robot 명령은 시작 위치:0개 정의됨을 표시하여 사용할 수 있는 사이트가 없음을 나타냅니다.
관리 콘솔에 로그인하려면의 절차를 수행합니다.
메뉴 표시줄에서 [검색 서버]를 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [로봇]을 선택한 다음 [상태 및 제어]를 선택합니다.
[로봇 데이터베이스 지우기]를 누릅니다.
로봇은 자원을 찾고 이러한 자원의 설명을 데이터베이스에 추가할지 여부를 결정합니다. 방문할 서버와 이러한 서버에서 인덱싱할 부분을 결정하는 작업을 사이트 정의라고 합니다.
관리 콘솔에 로그인하려면의 절차를 수행합니다.
메뉴 표시줄에서 [검색 서버]를 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [로봇]을 선택한 다음 [사이트]를 선택합니다.
[사이트 관리]에서 [새로 만들기]를 누르고 해당 사이트의 구성 속성을 지정합니다.
속성에 대한 자세한 내용은 Sun Java System Portal Server 7.2 Technical Reference의 Sites를 참조하십시오.
[확인]을 누릅니다.
관리 콘솔에 로그인하려면의 절차를 수행합니다.
메뉴 표시줄에서 [검색 서버]를 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [로봇]을 누른 다음 [사이트]를 누릅니다.
수정할 사이트 이름을 누릅니다.
[사이트 편집] 대화 상자가 나타납니다.
필요에 따라 구성 속성을 수정합니다.
속성에 대한 자세한 내용은 Sun Java System Portal Server 7.2 Technical Reference의 Sites를 참조하십시오.
[확인]을 눌러 변경 사항을 기록합니다.
로봇은 인덱싱하도록 선택된 다양한 사이트로 탐색합니다. 탐색 및 인덱싱 작업 등록 정보를 정의하여 로봇이 사이트를 탐색하는 방법을 제어할 수 있습니다.
관리 콘솔에 로그인하려면의 절차를 수행합니다.
메뉴 표시줄에서 [검색 서버]를 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [로봇]을 누른 다음 [등록 정보]를 누릅니다.
필요에 따라 로봇 탐색 및 인덱싱 속성을 지정합니다.
속성에 대한 자세한 내용은 Sun Java System Portal Server 7.2 Technical Reference의 Properties를 참조하십시오.
[저장]을 누릅니다.
시뮬레이터는 목록에 있는 하나 이상의 사이트에서 로봇 필터링의 시뮬레이션을 부분적으로 수행합니다.
관리 콘솔에 로그인하려면의 절차를 수행합니다.
메뉴 표시줄에서 [검색 서버]를 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [로봇]을 누른 다음 [유틸리티]를 누릅니다.
[새 URL 추가] 텍스트 상자에 시뮬레이션할 새 사이트의 URL을 입력하고 [추가]를 누릅니다.
[기존 로봇 사이트]에 나열된 기존 사이트에서 시뮬레이터를 실행할 수도 있습니다.
[시뮬레이터 실행]을 누릅니다.
사이트 시험 유틸리티는 DNS 별칭, 서버 리디렉션 및 가상 서버와 같은 정보를 확인합니다.
관리 콘솔에 로그인하려면의 절차를 수행합니다.
메뉴 표시줄에서 [검색 서버]를 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [로봇]을 누른 다음 [유틸리티]를 누릅니다.
시험할 사이트의 URL을 입력합니다.
(옵션) 시험 결과 DNS 정보를 얻으려면 [사이트 시험]에서 [고급 DNS 정보 표시]를 선택합니다.
[사이트 시험 실행]을 누릅니다.
로봇은 필터를 사용하여 어떤 자원을 처리할지 그리고 이를 어떻게 처리할지를 결정합니다. 로봇이 자원 자체와 자원에 대한 참조를 찾으면 각 자원에 필터를 적용합니다. 필터는 자원을 열거하고 검색 서버 데이터베이스에 저장할 자원 설명을 생성할지 여부를 결정합니다.
로봇은 하나 이상의 시작 위치 URL을 검사하고 필터를 적용한 다음 시작 위치 URL을 열거하여 파생된 URL에 필터를 적용하는 방식으로 작동합니다. 시작 위치 URL은 filterrules.conf 파일에 정의되어 있습니다.
각 열거 및 생성 필터는 필요한 모든 초기화 작업을 수행하고 현재 자원에 대해 비교 테스트를 수행합니다. 각 테스트의 목적은 자원을 허용하거나 거부하려는 것입니다. 또한 각 필터는 종료 단계 동안 정리 작업을 수행합니다.
자원이 허용되는 경우 해당 필터를 통해 계속 테스트를 진행합니다. 결과적으로 로봇이 자원을 열거하여 추가 자원을 찾으려고 시도합니다. 생성기도 이에 대한 자원 설명을 만들 수 있습니다.
자원이 거부되면 이 자원은 받아들여지지 않습니다. 거부된 자원에 대해서는 필터가 더 이상 작업을 수행하지 않습니다.
이러한 작업이 반드시 연결되는 것은 아닙니다. 어떤 자원은 열거되고 어떤 자원은 RD 생성으로 이어집니다. 많은 자원이 열거되는 동시에 RD 생성으로 이어집니다. 예를 들어, 자원이 FTP 디렉토리라면 이 자원에는 일반적으 로그에 대한 RD가 생성되지 않습니다. 그러나 로봇은 FTP 디렉토리에 있는 개별 파일을 열거할 수 있습니다. 다른 문서에 대한 링크가 포함된 HTML 문서는 RD를 생성하면서 링크된 문서에 대한 열거로도 이어질 수 있습니다.
다음 절에서는 필터 프로세스에 대해 설명합니다.
열거 및 생성 필터의 필터링 프로세스는 모두 5단계로 이루어집니다.
설정 – 초기화 작업을 수행합니다. 로봇의 사용 중 한 번만 수행됩니다.
메타데이터 – 자원에 대해 사용할 수 있는 메타데이터를 바탕으로 자원을 필터링합니다. 메타데이터 필터링은 네트워크를 통해 자원을 검색하기 전에 자원당 한 번 발생합니다. 표 19–1은 일반적인 메타데이터 유형의 예입니다.
메타데이터 유형 |
설명 |
예 |
---|---|---|
전체 URL |
자원의 위치 |
http://home.siroe.com/ |
프로토콜 |
URL의 액세스 부분 |
http, ftp, file |
호스트 |
URL의 주소 부분 |
www.siroe.com |
IP 주소 |
호스트의 숫자 버전 |
198.95.249.6 |
경로 |
URL의 경로 부분 |
/index.html |
깊이 |
시작 위치 URL로부터의 링크 수 |
5 |
데이터 – 데이터를 기반으로 자원을 필터링합니다. 데이터는 네트워크를 통해 데이터를 검색한 후 자원당 한 번만 필터링됩니다. 필터링에 사용할 수 있는 데이터는 다음과 같습니다.
content-type
content-length
content-encoding
content-charset
last-modified
expires
열거 – 검사할 다른 자원을 가리키는지 여부를 결정하기 위해 현재 자원을 열거합니다.
생성 – 자원에 대한 자원 설명(RD)을 생성하고 이를 검색 서버 데이터베이스에 저장합니다.
종료 – 필요한 모든 종료 작업을 수행합니다. 이 프로세스는 로봇 사용 중에 한 번만 발생합니다.
filter.conf 파일에 열거와 생성 필터에 대한 정의가 들어 있습니다. 이 파일에는 열거 및 생성 모두에 대한 다수의 필터가 포함될 수 있습니다. 로봇에서 사용하는 필터는 robot.conf 파일의 enumeration-filter 및 generation-filter 등록 정보에서 지정합니다.
필터 정의는헤더, 본문 및 종료 부분으로 잘 정의된 구조를 가집니다. 헤더는 필터의 시작 부분을 식별하고 해당 이름을 선언합니다. 예를 들면 다음과 같습니다.
<Filter name="myFilter"> |
본문은 설정, 테스트, 열거 또는 생성 그리고 종료 중에 필터의 작동을 정의하는 일련의 필터 지시문으로 이루어집니다. 각 지시문은 함수 및 해당하는 경우 함수에 대한 등록 정보를 지정합니다.
종료 부분은 </Filter>로 표시됩니다.
예 19–1은 enumeration1이라는 필터를 보여줍니다.
<Filter name="enumeration1> Setup fn=filterrules-setup config=./config/filterrules.conf # 규칙 처리 MetaData fn=filterrules-process # 유형 및 프로세스 규칙별로 다시 필터링 Data fn=assign-source dst=type src=content-type Data fn=filterrules-process # HTML에서만 열거 수행 Enumerate enable=true fn=enumerate-urls max=1024 type=text/html # 정리 Shutdown fn=filterrules-shutdown </Filter> |
필터 지시문은 RAF(Robot Application Function)를 사용하여 작업을 수행합니다. 필터 지시문의 사용법과 실행의 흐름은 Sun Java System Web Server의 obj.conf 파일에 있는 NSAPI 지시문 및 SAF(Server Application Function)와 유사합니다. NSAPI 및 SAF와 마찬가지로 데이터는 pblocks라고도 하는 등록 정보 블록을 사용하여 저장 및 전송됩니다.
해당 필터링 단계 및 작업에 해당하는 6가지 로봇 지시문 또는 RAF 클래스가 자원 필터링 프로세스에 나와 있습니다.
설정
메타데이터
데이터
열거
생성
종료
각 지시문에는 고유의 로봇 응용 프로그램 함수가 있습니다. 예를 들어, 메타데이터와 데이터 지시문에는 필터링 함수를 사용하고, 열거 지시문에는 열거 함수를 사용하고, 생성 지시문에는 생성 함수를 사용합니다.
내장 RAF와 고유 RAF를 작성하기 위한 지침은 Sun Java System Portal Server 7.1 Developer's Guide에서 설명합니다.
대부분의 경우 관리 콘솔을 사용하여 대부분의 사이트 정의 기반 필터를 만들 수 있습니다. 그런 다음 filter.conf 및 filterrules.conf 파일을 수정하여 필요에 따라 추가로 변경합니다. 이러한 파일은 /var/opt/SUNWportal/searchservers/searchserverid/config 디렉토리에 있습니다.
더 복잡한 등록 정보 집합을 만들려면 로봇에서 사용하는 구성 파일을 편집합니다.
필터를 작성하거나 수정할 때는 다음의 순서에 주의해야 합니다.
지시문의 실행 순서(특히 각 단계에서 사용할 수 있는 정보)
filterrules.conf의 필터 규칙 순서
또한 다음 작업을 수행할 수 있습니다.
robot.conf 파일의 등록 정보 수정
filter.conf 파일의 RAF 수정
고유 RAF 만들기
자세한 내용은 Sun Java System Portal Server 7.1 Developer's Guide를 참조하십시오.
이 절에서는 로봇 필터를 관리하기 위한 다음 작업을 설명합니다.
메뉴 표시줄에서 [검색 서버]를 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [로봇]을 선택한 다음 [필터]를 선택합니다.
[새로 만들기]를 누릅니다.
새 로봇 필터 만들기 마법사가 나타납니다.
지침에 따라 지정된 필터를 만듭니다.
텍스트 상자에 필터 이름과 필터 설명을 입력하고 [다음]을 누릅니다.
필터 정의와 동작을 지정하고 [마침]을 누릅니다.
필터 속성에 대한 자세한 내용은 Sun Java System Portal Server 7.2 Technical Reference의 Filters를 참조하십시오.
[닫기]를 눌러 새 필터를 로드합니다.
메뉴 표시줄에서 [검색 서버]를 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [로봇]을 선택한 다음 [필터]를 선택합니다.
필터를 선택합니다.
[삭제]를 누릅니다.
표시되는 확인 대화 상자에서 [확인]을 누릅니다.
메뉴 표시줄에서 [검색 서버]를 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [로봇]을 선택한 다음 [필터]를 선택합니다.
필터를 선택하고 [편집]을 누릅니다.
[필터 편집] 페이지가 나타납니다.
필요에 따라 구성 속성을 수정합니다.
필터 속성에 대한 자세한 내용은 Sun Java System Portal Server 7.2 Technical Reference의 Filters를 참조하십시오.
[확인]을 누릅니다.
문서는 설정에 정의된 최대 수까지 여러 범주에 할당할 수 있습니다. 분류 규칙에는 흐름 제어 의사 결정이 관련되지 않기 때문에 로봇 필터 규칙보다 단순합니다. 분류 규칙에서 특정 범주를 자원 설명의 일부로 자원에 할당하는 데 사용할 기준을 결정합니다. 분류 규칙은 어떤 조건이 참이면 자원을 <범주>에 할당한다의 형태를 취하는 간단한 조건문입니다.
메뉴 표시줄에서 [검색 서버]를 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [로봇]을 선택한 다음 [분류 규칙]을 선택합니다.
[분류 규칙]을 선택하고 [새로 만들기]를 누릅니다.
[새 분류 규칙 만들기] 대화 상자가 나타납니다.
필요에 따라 구성 속성을 지정합니다.
속성에 대한 자세한 내용은 Sun Java System Portal Server 7.2 Technical Reference의 Manage Classification Rules를 참조하십시오.
[확인]을 누릅니다.
메뉴 표시줄에서 [검색 서버]를 선택한 다음 검색 서버를 선택합니다.
메뉴 표시줄에서 [로봇], [분류 규칙]을 차례로 선택합니다.
분류 규칙을 선택하고 [편집]을 누릅니다.
필요에 따라 속성을 수정합니다.
속성에 대한 자세한 내용은 Sun Java System Portal Server 7.2 Technical Reference의 Manage Classification Rules를 참조하십시오.
[확인]을 누릅니다.
대부분의 RAF(Robot Application Function)는 정보 소스를 필요로 하며 대상으로 전송되는 데이터를 생성합니다. 소스는 로봇 내에 정의되며 로봇이 최종적으로 생성하는 자원 설명의 필드와 반드시 관련되는 것은 아닙니다. 한편 대상은 일반적으로 자원 설명 서버의 스키마에 의해 정의되는 자원 설명에 있는 필드 이름입니다.
다음 절에서는 필터링 프로세스의 여러 단계와 해당 단계에서 사용할 수 있는 소스에 대해 설명합니다.
설정 단계에서는 필터가 설정되지만 아직 자원의 URL이나 컨텐트에 대한 정보를 가져올 수 없습니다.
메타데이터 단계에서 로봇은 자원에 대한 URL을 발견하지만 자원의 컨텐트를 다운로드하지는 않습니다. 따라서 filter.conf 파일 등의 다른 소스에서 파생된 데이터와 URL에 대한 정보를 사용할 수 있습니다. 그러나 이 단계에서 자원의 컨텐트에 대한 정보는 사용할 수 없습니다.
표 19–2 메타데이터 단계에서 RAF가 사용할 수 있는 소스
소스 |
설명 |
예 |
---|---|---|
csid |
카탈로그 서버 아이디 |
x-catalog//budgie.siroe.com:8086/alexandria |
depth |
시작 위치로부터 방문한 링크 수 |
10 |
enumeration filter |
열거 필터의 이름 |
enumeration1 |
generation filter |
생성 필터의 이름 |
generation1 |
host |
URL의 호스트 부분 |
home.siroe.com |
IP |
호스트의 숫자 버전 |
198.95.249.6 |
protocol |
URL의 액세스 부분 |
http, https, ftp, file |
path |
URL의 경로 부분 |
/, /index.html, /documents/listing.html |
URL |
전체 URL |
http://developer.siroe.com/docs/manuals/ |
데이터 단계에서 로봇은 URL에서 자원의 컨텐트를 다운로드한 상태이며 설명 및 작성자 등의 컨텐트 관련 데이터에 액세스할 수 있습니다.
자원이 HTML 파일인 경우 로봇은 HTML 헤더에 있는 <META> 태그의 구문을 분석합니다. 결과적으로 <META> 태그에 있는 모든 데이터를 데이터 단계에서 사용할 수 있습니다.
데이터 단계에서 RAF는 메타데이터 단계에서 사용할 수 있는 소스 외에 다음과 같은 소스를 사용할 수 있습니다.
표 19–3 데이터 단계에서 RAF가 사용할 수 있는 소스
소스 |
설명 |
예 |
---|---|---|
content-charset |
자원에서 사용하는 문자 집합 | |
content-encoding |
인코딩 형식 | |
content-length |
자원 크기(바이트) | |
content-type |
자원의 MIME 유형 |
text/html, image/jpeg |
expires |
자원의 만료 날짜 | |
last-modified |
자원이 마지막으로 수정된 날짜 | |
data in <META> tags |
HTML 자원의 헤더에 있는 <META> 태그에서 제공하는 모든 데이터 |
제작자, 설명, 키워드 |
이러한 모든 소스(<META> 태그의 데이터 제외)는 자원을 검색할 때 반환되는 HTTP 응답 헤더에서 파생됩니다.
열거 및 생성 단계에서는 데이터 단계와 동일한 데이터 소스를 사용할 수 있습니다. 자세한 내용은 표 19–3을 참조하십시오.
종료 단계에서 필터는 필터링을 완료하고 종료합니다. 이 단계를 위해 작성된 함수가 데이터 단계와 동일한 데이터 소스를 사용할 수 있어도 일반적으로 종료 기능의 작업은 로봇 종료와 정리 작업으로 제한됩니다.
각 함수에는 enable 등록 정보가 있습니다. 값으로는 true, false, on 또는 off를 지정할 수 있습니다. 관리 콘솔은 이러한 매개 변수를 사용하여 특정 지시문을 설정 또는 해제합니다.
다음 예는 text/html에 열거를 사용하고 text/plain에는 열거를 사용하지 않습니다.
# HTML에서만 열거 수행 Enumerate enable=true fn=enumerate-urls max=1024 type=text/html Enumerate enable=false fn=enumerate-urls-from-text max=1024 type=text/plain |
enable=false 등록 정보나 enable=off 등록 정보를 추가해도 이 줄을 주석 처리하는 것과 같은 효과가 있습니다. 관리 콘솔에서는 주석을 작성하지 않으므로 이러한 등록 정보가 사용됩니다.
이 절에서는 열거 및 생성 필터가 설정 단계에서 사용하는 함수에 대해 설명합니다. 이 함수는 다음 절에서 설명합니다.
filterrules-setup 함수를 사용하는 경우 logtype 로그 파일을 사용합니다. 값으로는 verbose, normal 또는 terse를 지정할 수 있습니다.
이 필터에서 사용할 필터 규칙이 있는 파일의 경로 이름입니다.
Setup fn=filterrules-setup
config="/var/opt/SUNWportal/searchservers/search1/config/filterrules.conf"
setup-regex-cache 함수는 filter-by-regex 및 generate-by-regex 함수에 대한 캐시 크기를 초기화합니다. 이 함수를 사용하여 기본값 32 이외의 숫자를 지정할 수 있습니다.
regex 캐시에 저장할 컴파일된 정규식의 최대 수입니다.
Setup fn=setup-regex-cache cache-size=28
setup-type-by-extension 함수는 파일 확장자를 인식하도록 필터를 구성합니다. 이 함수는 assign-type-by-extension 함수를 사용하기 전에 호출해야 합니다. 등록 정보로 지정된 파일에는 표준 MIME 컨텐트 유형과 파일 확장자 문자열 사이의 매핑이 포함되어야 합니다.
MIME 유형 구성 파일의 이름
Setup fn=setup-type-by-extension
file="/var/opt/SUNWportal/searchservers/search1/config/mime.types"
메타데이터 및 데이터 단계에서 작동하는 필터링 함수는 함수 및 해당 등록 정보에서 지정한 특정 기준에 따라 자원을 허용하거나 거부합니다. 이러한 함수는 filter.conf 파일의 열거 및 생성 필터 모두에 사용할 수 있습니다.
각 filter-by 함수가 비교를 수행한 다음 자원을 허용하거나 거부합니다. 자원을 허용하면 다음 필터링 단계를 계속 진행합니다. 자원을 거부하면 자원이 더 이상의 열거 또는 생성을 위한 기준에 맞지 않으므로 처리가 중지됩니다.
filter-by-exact 함수는 allow/deny 문자열이 정보의 소스와 정확하게 일치하면 자원을 허용하거나 거부합니다. 키워드 all은 어떤 문자열과도 일치합니다.
정보의 소스
문자열을 포함합니다.
다음 예에서는 컨텐트 유형이 text/plain인 모든 자원이 필터링에서 제거됩니다. 나머지 모든 자원은 계속 진행하도록 허용됩니다.
Data fn=filter-by-exact src=type deny=text/plain
filter-by-max 함수는 지정된 정보 소스가 주어진 값보다 작거나 같은 경우에 자원을 허용합니다. 정보 소스가 지정된 값보다 크면 자원을 거부합니다.
이 함수는 필터당 한 번만 호출할 수 있습니다.
filter-by-max 함수는 filter-by-max 함수에서 사용되는 등록 정보를 나열합니다.
정보의 소스: hosts, objects 또는 depth
비교할 값을 지정합니다.
이 예에서는 자원의 content-length가 1024KB보다 작은 경우 자원을 허용합니다.
MetaData fn-filter-by-max src=content-length value=1024
filter-by-md5 함수는 해당 MD5 체크섬 값이 있는 첫 번째 자원만 허용합니다. 이 로봇이 현재 자원의 MD5를 이전 자원에서 발견했다면 현재 자원은 거부됩니다. 이 함수는 동일한 자원이 중복 사용되거나 단일 자원에서 여러 URL을 사용하지 않도록 해줍니다.
데이터 단계 이후에서만 이 함수를 호출할 수 있습니다. 이 함수는 필터당 한 번만 호출할 수 있습니다. 또한 이 필터는 filter-by-md5를 호출하기 전에 generate-md5 함수를 호출하여 MD5 체크섬을 생성해야 합니다.
없음
다음 예에서는 먼저 체크섬을 생성하고 이를 바탕으로 필터링하여 MD5 체크섬을 처리하는 일반적인 방법을 보여줍니다.
Data fn=generate-md5
Data fn=filter-by-md5
filter-by-prefix 함수는 해당 정보 소스가 지정된 접두어 문자열로 시작되는 경우 자원을 허용하거나 거부합니다. 자원이 완전히 일치할 필요는 없습니다. 키워드 all은 어떤 문자열과도 일치합니다.
정보의 소스
접두어 비교에 사용할 문자열을 포함합니다.
다음 예는 text/html 및 text/plain을 포함하여 content-type이 텍스트 유형인 자원을 허용합니다.
MetaData fn=filter-by-prefix src=type allow=text
filter-by-regex 함수는 정규식 패턴 매칭을 지원합니다. 이 함수는 해당 정규식과 일치하는 자원을 허용합니다. 지원되는 정규식 구문은 POSIX.1 사양에서 정의됩니다. 정규식 \\\\*는 어떤 것과도 일치합니다.
정보의 소스
정규식 문자열을 포함합니다.
다음 예에서는 .gov 도메인에 있는 사이트의 모든 자원을 거부합니다.
MetaData fn=filter-by-regex src=host deny=\\\\*.gov
filterrules-process 함수는 filterrules.conf 파일에 있는 사이트 정의 및 필터 정의를 처리합니다.
없음
MetaData fn=filterrules-process
필터링 중에 지원 함수를 사용하면 자원에 대한 정보를 조작하거나 생성할 수 있습니다. 그런 다음 로봇은 필터링 함수를 호출하여 자원을 처리할 수 있습니다. 이 함수는 filter.conf 파일의 열거 및 생성 필터 모두에 사용할 수 있습니다.
assign-source 함수는 해당 정보 소스에 새로운 값을 할당합니다. 이 함수는 필터링 과정에서 편집을 허용합니다. 또한 명시적인 새 값을 할당하거나 다른 정보 소스의 값을 복사할 수 있습니다.
값을 변경할 소스의 이름
명시적인 값을 지정합니다.
dst로 복사할 정보 소스
value 등록 정보 또는 src 등록 정보를 지정해야 하며 둘 모두 지정할 수는 없습니다.
Data fn=assign-source dst=type src=content-type
assign-type-by-extension 함수는 자원의 파일 이름을 사용하여 그 유형을 결정하고 추가적 처리를 위해 이 유형을 자원에 할당합니다.
setup-type-by-extension 함수를 설정 중에 호출해야 assign-type-by-extension을 사용할 수 있습니다.
비교할 파일 이름의 소스입니다. 소스를 지정하지 않으면 기본값은 자원의 경로가 됩니다.
MetaData fn=assign-type-by-extension
clear-source 함수는 지정된 데이터 소스를 삭제합니다. 일반적으로 이 함수는 수행할 필요가 없습니다. assign-source 함수를 사용하면 소스를 만들거나 교체할 수 있습니다.
삭제할 소스 이름
다음 예에서는 경로 소스를 삭제합니다.
MetaData fn=clear-source src=path
convert-to-html 함수는 자원 유형이 지정된 MIME 유형과 일치하는 경우 추가 처리를 위해 현재 자원을 HTML 파일로 변환합니다. 변환 필터는 변환 중인 파일 유형을 자동으로 감지합니다.
변환할 MIME 유형
다음 순서로 함수를 호출하면 필터가 모든 Adobe Acrobat PDF 파일, Microsoft RTF 파일 및 FrameMaker MIF 파일 그리고 파일을 전달하는 서버에서 유형을 지정하지 않은 모든 파일을 HTML로 변환합니다.
Data fn=convert-to-html type=application/pdf
Data fn=convert-to-html type=application/rtf
Data fn=convert-to-html type=application/x-mif
Data fn=convert-to-html type=unknown
copy-attribute 함수는 자원 설명의 한 필드에서 다른 필드로 값을 복사합니다.
복사해 올 자원 설명의 필드
소스를 복사해 넣을 자원 설명의 항목
복사할 소스의 최대 길이
잘려진 텍스트를 단어의 일부분으로 남겨 두지 않고 수정할지 여부를 나타내는 부울 등록 정보. 이 등록 정보는 기본적으로 false입니다.
Generate fn=copy-attribute \\
src=partial-text dst=description truncate=200 clean=true
generate-by-exact 함수는 지정된 값의 소스를 생성하지만 기존 소스가 또 다른 값과 정확히 일치하는 경우에만 그렇습니다.
생성할 소스의 이름
dst를 할당할 값
일치 대상으로 사용할 소스
다음 예는 호스트가 www.siroe.com인 경우 분류를 siroe로 설정합니다.
Generate fn="generate-by-exact" match="www.siroe.com:80" src="host" value="Siroe" dst="classification"
이 generate-by-prefix 함수는 기존 소스의 접두어가 다른 값과 일치하는 경우 지정된 값의 소스를 생성합니다.
생성할 소스의 이름
dst를 할당할 값
일치 대상으로 사용할 소스
src와 비교할 값
다음 예에서는 프로토콜 접두어가 HTTP인 경우 분류를 Compass로 설정합니다.
Generate fn="generate-by-prefix" match="http" src="protocol" value="World Wide Web" dst="classification"
generate-by-regex 함수는 기존 소스가 정규식과 일치하는 경우 지정된 값의 소스를 생성합니다.
생성할 소스의 이름
dst를 할당할 값
일치 대상으로 사용할 소스
src와 비교할 정규식 문자열
다음 예는 호스트 이름이 정규식 *.siroe.com과 일치하는 경우 분류를 siroe로 설정합니다. 예를 들어 developer.siroe.com과 home.siroe.com에 있는 자원은 모두 Siroe로 분류됩니다.
Generate fn="generate-by-regex" match="\\\\*.siroe.com" src="host" value="Siroe" dst="classification"
generate-md5 함수는 MD5 체크섬을 생성하고 이를 자원에 추가합니다. 그런 다음 filter-by-md5 함수를 사용하여 중복된 MD5 체크섬을 가진 자원을 거부할 수 있습니다.
없음
Data fn=generate-md5
generate-rd-expires 함수는 만료 날짜를 생성하고 이를 지정된 소스에 추가합니다. 이 함수는 HTTP 헤더와 HTML <META> 태그와 같은 메타데이터를 사용하여 자원에서 만료 날짜 데이터를 얻습니다. 데이터가 없으면 이 함수는 현재 날짜로부터 3개월 후를 만료 날짜로 생성합니다.
소스의 이름. 생략하는 경우 소스 기본값은 rd-expires입니다.
Generate fn=generate-rd-expires
generate-rd-last-modified 함수는 현재 시간을 지정된 소스에 추가합니다.
소스의 이름. 생략하는 경우 소스 기본값은 rd-last-modified입니다.
Generate fn=generate-last-modified
rename-attribute 함수는 자원 설명의 필드 이름을 변경합니다. 이 함수는 extract-html-meta 함수를 사용하여 <META> 태그에서 필드로 정보를 복사하고 해당 필드의 이름을 변경할 때 가장 유용합니다.
한 이름에서 다른 이름으로의 매핑을 포함하는 문자열
다음 예에서는 속성 이름을 author에서 author-name으로 변경합니다.
Generate fn=rename-attribute src="author->author-name"
다음 함수는 열거 단계에서 작동합니다. 이러한 함수는 로봇이 주어진 자원에서 추가 자원 검색을 위한 시작 위치로 사용할 링크를 수집할 것인지 여부와 그 방법을 제어합니다.
enumerate-urls 함수는 자원을 검색하고 하이퍼텍스트 링크에서 발견된 모든 URL을 열거합니다. 이 결과는 추가적인 자원 검색을 위해 사용됩니다. content-type을 지정하여 열거할 URL 유형을 제한할 수 있습니다.
주어진 자원에서 작성할 최대 URL 수. 기본값은 1024입니다.
지정된 content-type이 있는 URL로 열거를 제한하는 Content-type입니다. type은 생략 가능한 등록 정보입니다. 생략하는 경우 이 함수는 모든 URL을 열거합니다.
다음 예에서는 HTML URL만 최대 1024개까지 열거합니다.
Enumerate fn=enumerate-urls type=text/html
enumerate-urls-from-text 함수는 텍스트 자원을 검색하여URL:.* 정규식과 일치하는 문자열을 찾습니다. 이 함수를 사용하면 로봇이 이러한 문자열에서 URL을 열거하고 추가 자원 설명을 생성할 수 있습니다.
주어진 자원에서 작성할 최대 URL 수. max를 생략한 경우 기본값은 1024입니다.
Enumerate fn=enumerate-urls-from-text
생성 함수는 필터링의 생성 단계에 사용되며,자원 설명에 포함될 정보를 만들 수 있습니다. 일반적으로 생성 함수는 자원 자체에서 정보를 추출하거나 자원의 메타데이터에서 정보를 복사합니다.
extract-full-text 함수는 자원의 전체 텍스트를 추출하고 이를 자원 설명에 추가합니다.
extract-full-text 함수를 사용할 때는 주의해야 합니다. 이 함수는 자원 설명의 크기를 지나치게 증가시키므로 데이터베이스를 팽창시켜 네트워크 대역폭에 전체적으로 부정적인 영향을 줄 수 있습니다.
Generate fn=extract-full-text
자원에서 추출할 최대 문자 수
전체 텍스트를 받을 스키마 항목의 이름
extract-html-meta 함수는 HTML 파일에서 모든 <META> 또는 <TITLE> 정보를 추출하여 자원 설명에 추가합니다. 생성될 URL 유형을 제한하도록 content-type을 지정할 수 있습니다.
추출할 최대 바이트 수
생략 가능한 등록 정보. 생략하는 경우 모든 URL이 생성됩니다.
Generate fn=extract-html-meta truncate=255 type=text/html
extract-html-text 함수는 HTML 파일에서 HTML 태그를 제외하고 텍스트의 처음 몇 문자를 추출하여 자원 설명에 추가합니다. 이 함수는 문서 텍스트의 처음 부분을 RD에 포함하도록 허용합니다. 생성될 URL 유형을 제한하도록 content-type을 지정할 수 있습니다.
추출할 최대 바이트 수
문서에 있는 HTML 헤더를 무시하려면 true로 설정합니다.
생략 가능한 등록 정보. 생략하는 경우 모든 URL이 생성됩니다.
Generate fn=extract-html-text truncate=255 type=text/html skip-headings=true
extract-html-toc 함수는 HTML 헤더에서 목차를 추출하여 자원 설명에 추가합니다.
추출할 최대 바이트 수
추출할 최대 HTML 헤더 수준. 이 등록 정보는 목차의 깊이를 제어합니다.
Generate fn=extract-html-toc truncate=255 level=3
extract-source 함수는 주어진 소스에서 지정된 값을 추출하여 자원 설명에 추가합니다.
소스 이름을 나열합니다. -> 연산자를 사용하여 RD 속성에 새 이름을 정의할 수 있습니다. 예를 들어 type->content-type은 이름이 type이라는 소스의 값을 가져다 content-type이라는 속성 아래의 RD에 저장합니다.
Generate fn=extract-source src="md5,depth,rd-expires,rd-last-modified"
harvest-summarizer 함수는 자원에 대해 결과 요약 프로그램을 실행하여 그 결과를 자원 설명에 추가합니다.
결과 요약 프로그램을 실행하려면 로봇을 실행하기 전에 해당 path에 $HARVEST_HOME/lib/gatherer가 있어야 합니다.
요약 프로그램 이름
Generate fn-harvest-summarizer summarizer=HTML.sum
filterrules-shutdown 함수는 종료 단계에서 열거 및 생성 함수가 사용할 수 있습니다.
규칙이 실행된 후에 filterrules-shutdown 함수가 정리와 종료 처리를 담당합니다.
없음
Shutdown fn=filterrules-shutdown
robot.conf 파일은 로봇에게 filter.conf의 적합한 필터를 가리켜주는 등 로봇에 대한 많은 옵션을 정의합니다. 이전 버전과의 호환성을 위해 robot.conf에 시작 위치 URL을 포함할 수도 있습니다.
관리 콘솔을 사용하여 대부분의 등록 정보를 설정할 수 있기 때문에 대개는 robot.conf 파일을 편집할 필요가 없습니다. 그러나 고급 사용자는 관리 콘솔을 통해 설정할 수 없는 등록 정보를 설정하기 위해 이 파일을 직접 편집할 수 있습니다. 이 파일의 예를 보려면 예제 robot.conf 파일을 참조하십시오.
표 19–4에는 robot.conf 파일에서 변경할 수 있는 등록 정보가 정리되어 있습니다.
표 19–4 사용자가 수정 가능한 등록 정보
이 절에서는 예제 robot.conf 파일에 대해 설명합니다. 이 예제에서 주석 처리되어 있는 모든 등록 정보는 기본값을 사용합니다. 첫 번째 등록 정보인 csid는 이 파일을 사용하는 검색 서버 인스턴스를 나타냅니다. 이 등록 정보의 값을 변경하지 마십시오. 이 파일에 있는 등록 정보의 정의에 대해서는 수정 가능한 등록 정보를 참조하십시오.
이 예제 파일에는 검색 서버에서 사용하는 등록 정보 중 수정하지 않아야 하는 몇 가지 등록 정보가 포함되어 있습니다. csid 등록 정보를 한 예로 들 수 있습니다.
<Process csid="x-catalog://budgie.siroe.com:80/jack" \\ auto-proxy="http://sesta.varrius.com:80/" auto_serv="http://sesta.varrius.com:80/" command-port=21445 convert-timeout=600 depth="-1" # email="user@domain" enable-ip=true enumeration-filter="enumeration-default" generation-filter="generation-default" index-after-ngenerated=30 loglevel=2 max-concurrent=8 site-max-concurrent=2 onCompletion=idle password=boots proxy-loc=server proxy-type=auto robot-state-dir="/var/opt/SUNWportal/searchservers/search1/robot" \\ ps/robot" server-delay=1 smart-host-heuristics=true tmpdir="/var/opt/SUNWportal/searchservers/search1/tmp" user-agent="iPlanetRobot/4.0" username=jack </Process> |