本章說明如何配置和管理 Sun JavaTM System Portal Server 搜尋伺服器。
本章包含章節:
Portal Server 搜尋伺服器是一種分類法和資料庫服務,其設計為支援與常見網際網路搜尋伺服器 (如 Google 和 Alta Vista) 類似的搜尋和瀏覽介面。搜尋伺服器包括可以探索、轉換及概述文件資源的網頁抓取程式。Portal Server 桌面包括以 JavaServer PagesTM (JSPTM) 為基礎的搜尋使用者介面。搜尋伺服器包括可編輯配置的管理工具,和可管理系統的指令行工具。配置設定可透過 Portal Server 管理主控台定義和存放。
管理主控台可供管理員配置大多數搜尋伺服器選項,但不能執行可透過指令行介面使用的所有管理功能。
使用者可查詢搜尋伺服器的資料庫,以找到資源。每個資料庫中的各個項目稱作資源描述 (Resource Description, RD)。資源描述提供單一資源的摘要資訊。資料庫模式決定每個資源描述的欄位。
搜尋伺服器是以開放的網際網路標準 (如資源描述訊息 (Resource Description Messages, RDM) 和摘要物件互換格式 (Summary Object Interchange Format, SOIF)) 為基礎,以確保搜尋伺服器可在跨平台企業環境中作業。
使用者有兩種方式可與搜尋系統互動。使用者可鍵入直接查詢以搜尋資料庫,或是使用您設計的一組種類來瀏覽整個資料庫內容。種類的階層結構有時稱為分類法。資源分類好比是為資料庫建立一個目錄。
瀏覽是搜尋系統的選用功能。也就是說,不一定要使用依種類瀏覽的功能,依然能夠擁有相當好用的搜尋系統。您需要判斷加入使用者可瀏覽的種類對於索引使用者來說是否有用;若有用,則判斷應建立哪些種類。
搜尋資料庫中的資源被指派到各個種類以減少複雜性。如果資料庫中有大量的項目,將相關的項目分組在一起是很有用的。這麼做可讓使用者迅速找出特定類型的項目、在類似項目之間進行比較,而從中選擇所要的項目。
這種分類方式在產品及服務索引中十分常見。服飾種類會分男裝、女裝及童裝服飾,每一大類又可細分為外套、襯衫、鞋子以及其他項目。辦公室用品種類則可區分為傢具、文具用品、電腦及軟體等。廣告目錄即根據產品及服務的種類編排而成。
印刷品索引的分門別類原則亦適用於線上索引。其用意是讓使用者易於找出特定類型的資源,以便從中選擇自己所要的資訊。無論您設計的索引範圍大或小,設定種類時都應以可用性為首要考量。您必須瞭解使用者如何使用這些種類。例如您為一家在三個不同地區設有辦事處的公司設計索引,此時您可能會以各家分公司作為頂層種類。如果使用者更注重跨地緣關係的職能部門,則依據企業部門進行資源分類較為適宜。
種類一旦定義,就必須設定規則將資源指派到各個種類。這些規則稱作分類規則。如果未定義適當的分類規則,使用者將無法透過瀏覽種類找到資源。固然應避免錯誤歸類資源,但也要避免漏掉要歸類的文件。
Sun Java System Portal Server 可以支援一個或多個搜尋伺服器。
安裝 Portal Server 時,會建立預設搜尋伺服器 (search1)。您也可以使用 [建立搜尋伺服器] 精靈建立新的搜尋伺服器。
您需要知道所使用的 Web 容器實例特有的配置資訊:
Sun Java System Web Server 7
Sun Java System Web Server 6
Sun Java System Application Server 8.1
BEA Weblogic 8
IBM WebSphere 5
搜尋伺服器將其資源描述儲存於資料庫中。搜尋資料庫是一種文件集合索引。係由索引器 (指令 rdmgr,或搜尋伺服器本身) 建立。例如,預設會設定網頁抓取程式抓取網站,並將其找到的所有一切編列索引至使用者可在其中搜尋資料的預設搜尋資料庫。也可將資料或索引儲存至其他資料庫。
以下舉出您在管理資料庫時可能需執行的一些配置及維護作業:
一般而言,搜尋資料庫中的項目來自網頁抓取程式。您也可以匯入來自其他 Portal Server 搜尋伺服器、iPlanet Web Server、NetscapeTM Enterprise Server 或其他來源所產生資料庫的現有項目資料庫。匯入現有的 RD 資料庫而非傳送網頁抓取程式以建立 RD 資料庫,可幫助減少網路傳輸量。這樣會將該作業分成數個小部份執行,從而也可以更加快速地完成大型的索引作業。如果中央資料庫其實體遠離編列索引的伺服器,那麼在本端產生 RD 並定期將遠端資料庫匯入中央資料庫是很有幫助的。
搜尋伺服器使用匯入代理程式從其他伺服器或資料庫匯入 RD。匯入代理程式係一項程序,即從外部來源擷取許多的 RD,再將該等資訊合併到本端資料庫中。
在匯入資料庫前,必須先建立匯入代理程式。代理程式一旦建立完成後,即可立刻開始進行匯入程序,或是排定定期執行匯入程序的時間。
模式決定您的搜尋伺服器針對各項資源所維護的資訊及其格式。您的模式設計會決定影響索引可用性的兩大因素:
供使用者搜尋資源的方式
供使用者檢視資源資訊的方式
模式是指資料庫中的資源描述之主資料結構。如何定義該資料結構的欄位並編列索引,將會影響到使用者存取資源的程度。
模式與搜尋伺服器及其網頁抓取程式所使用的檔案之結構息息相關。您應該僅使用管理主控台中的模式工具變更資料結構。絕對不要直接編輯模式檔。
您可以編輯搜尋伺服器的資料庫模式,在其中加入新的模式屬性、修改模式屬性或刪除屬性。
模式具有下列屬性:
可編輯 – 勾選後,則屬性會顯示在資源描述編輯器中,您可以變更其值。
可編列索引 – 此屬性表示使用者可搜尋此特定欄位中的值。可編列索引欄位也可出現在 [進階搜尋] 畫面的快顯功能表中。
描述 – 此屬性是用於描述模式的文字字串。可當作註釋或附註使用。
別名 – 此屬性可供您定義別名,以便將匯入的資料庫模式名稱轉換成您自己的模式。
計分乘數 – 為特定元素計分的加權欄位。有效值為任何正值。
資料類型 – 定義資料類型。
您可能會發現用於資料庫模式之欄位的名稱之間有不一致的情況。當您將資源描述從某台伺服器匯入另一台伺服器時,您無法保證這兩台伺服器始終在各自的模式中為項目使用相同的名稱。同樣,當網頁抓取程式將文件中的 HTML <meta> 標記轉換到模式欄位時,名稱由文件控制。
搜尋伺服器可讓您針對模式屬性定義模式別名,使這些外部模式名稱對映到您資料庫欄位的有效名稱。
搜尋伺服器可產生報告,提供有關已編列索引的網站數以及資料庫中各個網站之資源數目等資訊。
如果您已編輯模式以新增或移除已編列索引的欄位,或者由於磁碟錯誤造成索引檔毀壞,則可能需要為搜尋伺服器重新編列資源描述資料庫索引。如果因任何其他原因而使得資料庫內容與其索引之間發生不一致,也可能需要重新編列索引。例如,在編列索引時系統發生故障。
重新編列大型資料庫索引可能需要數小時來完成。重新編列資料庫索引需要的時間和資料庫的記錄數有關。如果您擁有大型資料庫,請在伺服器閒置時重新編列索引。
移除過期的資料描述即為終止資料庫。只有當您執行終止時,才會移除資源描述。過期的資料描述會被刪除,但資料庫大小不會減少。
過期日期是資源描述的屬性之一。您的網頁抓取程式可透過 HTML <meta> 標記或資源伺服器提供的資訊來設定過期日期。依預設,資源描述自建立日起三個月後過期,除非資源另有指定不同的過期日期。您應讓搜尋伺服器定期清除資料庫中過期的資源描述。
清除功能可用來移除資料庫的內容。用於索引的磁碟空間將被回復,但不會回復主資料庫所使用的磁碟空間。相反,當新資料加入資料庫時會重新使用該空間。
搜尋伺服器可讓您將構成每個搜尋資料庫的實體檔案放置在多個磁碟、檔案系統、目錄或分割區上。透過將資料庫散佈在不同的實體或邏輯裝置中,您可建立超過單一裝置容量的大型資料庫。
依預設,搜尋伺服器設定資料庫僅使用一個目錄。指令行介面可供您針對資料庫分割區執行兩種操作:
新增分割區
移動分割區
搜尋伺服器不會檢查各分割區是否尚有剩餘空間。您必須自行維護足夠的空間供資料庫使用。
您可以增加新的資料庫分割區,總數最多可達 15 個。
一旦增加分割區數目,未來若要減少數目,必須先刪除整個資料庫。
然而,只要您還有足夠的磁碟空間,不建議分割資料庫。
若要變更任何資料庫分割區的實際位置,請指定新位置的名稱。同樣的,您也可以將現有的分割區重新命名。使用 rdmgr 指令進行分割區操作。有關 psadmin 指令的資訊,請參閱「Sun Java System Portal Server 7.1 Command Line Reference」。
使用以下說明管理資料庫:
psadmin create-search-database
選取 [搜尋伺服器] 標籤,然後選取一個搜尋伺服器。
按一下功能表列中的 [資料庫],然後選取 [匯入代理程式]。
按一下 [新增] 以啟動精靈。
指定匯入代理程式屬性。
如需更多關於屬性的資訊,請參閱「Sun Java System Portal Server 7.1 Technical Reference」中的「Import Agents」。
按一下 [完成]。
psadmin create-search-importagent
選取 [搜尋伺服器] 標籤,然後選取一個搜尋伺服器。
按一下 [資料庫],然後選取功能表列中的 [管理]。
選取一個資料庫,並按一下 [管理資源描述]。
按一下 [新增],並指定屬性。
如需更多關於屬性的資訊,請參閱「Sun Java System Portal Server 7.1 Technical Reference」中的「Schema」。
按一下 [確定]。
選取 [搜尋伺服器] 標籤,然後選取一個搜尋伺服器。
按一下 [資料庫],然後選取功能表列中的 [管理]。
選取一個資料庫,並按一下 [管理資源描述]。
選取 [資源描述] 以執行以下其中一個動作:
編輯
編輯全部
刪除
如需更多關於屬性的資訊,請參閱「Sun Java System Portal Server 7.1 Technical Reference」中的「Schema」。
按一下 [儲存]。
psadmin modify-search-resourcedescription
搜尋伺服器提供多種報告,以讓您監視搜尋作業。
可以使用下列作業來管理種類:
從標籤中選取 [搜尋伺服器],然後選取搜尋伺服器。
在功能表列中選取 [種類],然後選取 [瀏覽/搜尋]。
按一下 [新增]。
出現 [新增搜尋種類] 對話方塊。
視需要指定屬性。
如需更多關於屬性的資訊,請參閱「Sun Java System Portal Server 7.1 Technical Reference」中的「Manage Categories」。
按一下 [確定]。
選取 [搜尋伺服器] 標籤,然後選取一個搜尋伺服器。
在功能表列中按一下 [種類],然後選取 [瀏覽/搜尋]。
選取一個種類,然後按一下 [編輯] 以顯示 [編輯種類] 頁面。
如需更多關於屬性的資訊,請參閱「Sun Java System Portal Server 7.1 Technical Reference」中的「Manage Categories」。
按一下 [搜尋伺服器] 標籤,然後選取一個搜尋伺服器。
在功能表列中按一下 [種類],然後選取 [Autoclassify]。
視需要修改屬性。
如需更多與屬性相關的資訊,請參閱「Sun Java System Portal Server 7.1 Technical Reference」
按一下 [儲存]。
本章說明 Sun JavaTM System Portal Server 搜尋伺服器網頁抓取程式,及其對應的配置檔案。本章包含以下主題:
搜尋伺服器網頁抓取程式是一種代理程式,可識別及報告其網域上的資源。它使用兩種篩選器來執行這個作業:列舉篩選器與產生篩選器。
列舉篩選器使用網路通訊協定來找出資源。篩選器會測試每個資源,如果資源符合適當的條件,則列舉該資源。例如,列舉篩選器可從 HTML 檔案擷取超文字連結,並使用這些連結尋找額外的資源。
產生篩選器會測試每個資源以決定是否應建立資源描述 (Resource Description, RD)。若資源通過測試,產生器會建立 RD 並將其儲存在搜尋伺服器資料庫中。
圖 12–1 顯示網頁抓取程式如何檢查 URL 及其相關網路資源。列舉器和產生器會測試每個資源。如果資源通過列舉器測試,網頁抓取程式會檢查它是否有額外的 URL。若資源通過產生器測試,網頁抓取程式會產生儲存於搜尋伺服器資料庫的資源描述。
網頁抓取程式配置檔案會定義網頁抓取程式的運作方式。這些檔案位在目錄 /var/opt/SUNWportal/searchservers/searchserverid/config 中。以下清單提供每個網頁抓取程式配置檔案的描述。
包含用於將網頁抓取程式所產生的 RD 分類的規則。
定義網頁抓取程式所使用的列舉篩選器和產生篩選器。
包含網頁抓取程式的網站定義、起點 URL、根據 MIME 類型的篩選規則和 URL 式樣。
為網頁抓取程式定義大部分的作業特性。
因為您可以藉由使用「搜尋伺服器管理介面」設定大部分的特性,一般來說不需要編輯 robot.conf 檔案。然而,進階使用者可以手動編輯此檔案,以設定無法透過介面設定的特性。
網頁抓取程式會尋找資源並判定是否將其描述增加到資料庫中。而決定應訪問哪些伺服器以及應為這些伺服器的哪些部分編列索引,即所謂的網站定義。
定義網頁抓取程式的網站乃是伺服器管理員的重要工作之一。您一方面必須確定將網頁抓取程式傳送到所有需要索引的伺服器,同時也需要剔除無關的網站,以免因其佔據資料庫而更難找出正確資訊。
網頁抓取程式會擷取及跟隨選取用來編列索引的各個網站連結。身為系統管理員,您可以透過一些設定來控制這些程序,包括:
啟動、停止和排程網頁抓取程式
定義網頁抓取程式造訪的網站
可決定網頁抓取程式抓取積極程度的抓取屬性
透過定義篩選器,控制網頁抓取程式編列索引的資源類型。
透過定義編列索引屬性,控制網頁抓取程式建立何種資料庫項目。
如需網頁抓取程式抓取屬性的描述,請參閱「Sun Java System Portal Server 7.1 Technical Reference」。
篩選器能夠識別資源,因此可藉由根據篩選器定義來比對資源屬性,進而排除或包含資源。網頁抓取程式提供大量的預先定義篩選器,依預設會啟用其中一些篩選器。以下為預先定義的篩選器。標示星號的篩選器為預設啟用。
歸檔檔案*
音效檔*
備份檔案*
二進位檔案*
CGI 檔案*
影像檔案*
Java、JavaScript、樣式表檔案*
記錄檔案*
Lotus Domino 文件
Lotus Domino OpenViews
外掛程式檔案
Power Point 檔案
修訂控制檔案*
原始碼檔案*
試算表檔案
系統目錄 (UNIX)
系統目錄 (NT)
暫存檔案*
視訊檔案*
您可以建立新的篩選器定義、修改篩選器定義或啟用或停用篩選器。如需詳細資訊,請參閱資源篩選程序。
網頁抓取程式具有兩種除錯工具或公用程式:
為了保持搜尋資料為最新,網頁抓取程式應定時搜尋網站和編列索引。由於網頁抓取程式抓取和編列索引會消耗處理資源和網路頻寬,您應該安排在非尖峰日期與時間執行網頁抓取程式。管理主控台可讓管理員設定執行網頁抓取程式的排程。
本節說明以下管理網頁抓取程式的作業:
對於指令 psadmin start-robot,如果沒有可供網頁抓取程式抓取的已定義網站,則不會啟動搜尋網頁抓取程式。指令 psadmin start-robot 透過顯示「起始點:0 已定義」表示並無可用的網站。
網頁抓取程式會尋找資源並判定是否將其描述增加到資料庫中。而決定應訪問哪些伺服器以及應為這些伺服器的哪些部分編列索引,即所謂的網站定義。
從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。
在功能表列中選取 [網頁抓取程式],再選取 [網站]。
按一下 [管理網站] 下的 [新增],並為網站指定配置屬性。
如需關於屬性的詳細資訊,請參閱「Sun Java System Portal Server 7.1 Technical Reference」中的「Sites」。
按一下 [確定]。
從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。
在功能表列中選取 [網頁抓取程式],再選取 [網站]。
按一下您要修改的網站名稱。
出現 [編輯網站] 對話方塊。
依需要修改配置屬性。
如需更多關於屬性的資訊,請參閱「Sun Java System Portal Server 7.1 Technical Reference」中的「Sites」。
按一下 [確定] 以記錄變更。
網頁抓取程式抓取被選取用來編列索引的各種網站。您可透過定義抓取和編列索引作業特性,來控制網頁抓取程式抓取網站的方式。
從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。
按一下功能表列中的 [網頁抓取程式],再選取 [內容]。
依需要指定網頁抓取程式抓取及編列索引的屬性。
如需更多關於屬性的資訊,請參閱「Sun Java System Portal Server 7.1 Technical Reference」中的「Site Probe」。
按一下 [儲存]。
模擬器會在一個或多個列出的網站中執行網頁抓取程式篩選的部份模擬。
從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。
按一下功能表列的 [網頁抓取程式],再選取 [公用程式]。
在 [增加新的 URL] 文字方塊中輸入要模擬的新網站 URL,並按一下 [增加]。
您也可以在 [現有網頁抓取程式網站] 下列示的現有網站上執行模擬器。
按一下 [執行模擬器]。
網站探查公用程式檢查如 DNS 別名、伺服器重新導向及虛擬伺服器等資訊。
從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。
按一下功能表列中的 [網頁抓取程式],再選取 [公用程式]。
輸入要探查網站的 URL。
(可選擇) 如果您要探查傳回 DNS 資訊,請選擇 [網站探查] 下的 [顯示進階 DNS 資訊]。
按一下 [執行網站探查]。
網頁抓取程式會使用篩選器決定要處理何種資源,以及如何處理。當網頁抓取程式探索資源參照及資源本身時,網頁抓取程式會將篩選器套用在每個資源上。篩選器會列舉資源,並決定是否產生要存放在搜尋伺服器資料庫中的資源描述。
網頁抓取程式會檢查一個或多個起點 URL,套用篩選器,再套用篩選器至透過列舉 URL 所產生的 URL 上,等等。起點 URL 是在 filterrules.conf 檔案中定義。
每個列舉篩選器和產生篩選器會執行任何必要的初始化作業,並將比較測試套用至目前資源。每個測試的目標為允許或拒絕資源。篩選器也擁有關閉階段,在此階段將執行清除作業。
如果資源取得許可,則該資源通過篩選器繼續其歷程。網頁抓取程式最終會列舉該資源,以嘗試進一步探索其他資源。產生器也可能會為其建立資源描述。
若拒絕某個資源,則不會繼續處理該資源。對於被拒絕的資源,篩選器不會採取更進一步的動作。
這些作業不一定會被連結。有些資源會造成列舉,其他則造成 RD 產生。許多資源會同時造成列舉和 RD 產生。例如,如果資源是 FTP 目錄,則資源通常不會有為它產生的 RD。然而,網頁抓取程式會在 FTP 目錄中列舉個別的檔案。若 HTML 文件包含至其他文件的連結,該文件會造成產生 RD,也會導致任何已連結文件的列舉。
下列章節會說明篩選器程序:
列舉篩選器與產生篩選器的篩選程序中都擁有五個階段。
設定 – 執行初始化作業。在網頁抓取程式的有效期中只會發生一次。
中介資料 – 根據資源可用的中介資料篩選資源。在網路上擷取資源之前,對每個資源會執行一次中介資料篩選。表 12–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
列舉 – 列舉目前資源,以決定該資源是否指向其他待檢查的資源。
產生 – 為資源產生資源描述 (Resource Description, RD),並將其儲存至搜尋伺服器資料庫中。
關閉 – 執行任何必須的終止作業。在網頁抓取程式有效期中,此程序會發生一次。
filter.conf 檔案包含列舉篩選器與產生篩選器的定義。這個檔案可以包含多個用於列舉與產生的篩選器。網頁抓取程式所使用的篩選器是由 robot.conf 檔案中的 enumeration-filter 和 generation-filter 特性指定。
篩選器定義擁有一個定義良好的結構:標題、內文與結尾。標題會識別篩選器的開始並公佈其名稱,例如:
<Filter name="myFilter"> |
內文包含一系列的篩選器指令,這些指令可定義篩選器在設定、測試、列舉或產生和關閉期間的行為。每條指令會指定一個功能,且若適用,還會為功能指定特性。
結尾標記符為 </Filter>。
範例 12–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> |
篩選器指令使用網頁抓取程式應用程式功能 (Robot Application Function, RAF) 執行作業。它們的使用方式和執行流程與 Sun Java System Web Server 的 obj.conf 檔案中 NSAP 指令和伺服器應用程式功能 (Server Application Function, SAF) 類似。類似 NSAPI 與 SAF,資料的儲存與傳送使用特性區段 (亦稱為 pblocks)。
六個網頁抓取程式指令,或 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 檔案中的網頁抓取程式應用程式功能。
建立您自己的網頁抓取程式應用程式功能。
如需詳細資訊,請參閱「Sun Java System Portal Server 7.1 Developer's Guide」
本節說明以下管理網頁抓取程式篩選器的作業:
從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。
在功能表列中選取 [網頁抓取程式],再選取 [篩選器]。
按一下 [新增]。
出現 [新增網頁抓取程式篩選器精靈]。
遵循說明來建立指定的篩選器。
在文字方塊中輸入篩選器名稱和篩選器描述,並按 [下一步]。
指定篩選器定義和行為,並按一下 [完成]。
如需關於篩選器屬性的詳細資訊,請參閱「Sun Java System Portal Server 7.1 Technical Reference」中的「Filters」。
按一下 [關閉] 載入新篩選器。
從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。
在功能表列中選取 [網頁抓取程式],再選取 [篩選器]。
選取篩選器,並按一下 [編輯]。
出現 [編輯篩選器] 頁面。
依需要修改配置屬性。
如需關於篩選器屬性的詳細資訊,請參閱「Sun Java System Portal Server 7.1 Technical Reference」中的「Filters」。
按一下 [確定]。
文件可指派到多項種類,最多可為設定中定義的最大數目。分類規則比網頁抓取程式篩選器規則簡單,因為它不涉及任何流程控制的決定。在分類規則下,您需要決定使用何種準則將特定種類指派到某項資源,使其成為資源描述中的一部份。分類規則是一種簡單的條件陳述式,格式為「如果條件為真,則指定資源至 <種類>」。
從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。
選取功能表中的 [網頁抓取程式],再選取 [分類規則]。
選取 [分類規則],然後按一下 [新增]。
出現 [新增分類規則] 對話方塊。
依需要指定配置屬性。
如需關於屬性的詳細資訊,請參閱「Sun Java System Portal Server 7.1 Technical Reference」中的「Manage Classification Rules」。
按一下 [確定]。
從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。
從功能表列選取 [網頁抓取程式],然後選取 [分類規則]
選取分類規則,再按一下 [編輯]。
依需要修改屬性。
如需關於屬性的詳細資訊,請參閱「Sun Java System Portal Server 7.1 Technical Reference」中的「Manage Classification Rules」。
按一下 [確定]。
大部分的網頁抓取程式應用程式功能 (Robot Application Function, RAF) 需要資訊來源,並會產生移至目標的資料。來源會在網頁抓取程式之中定義,不一定要與網頁抓取程式最終產生的資源描述欄相關。在另一方面,目標通常是資源描述中的欄位名稱 (如資源描述伺服器模式所定義)。
下列章節會說明篩選程序的不同階段,以及這些階段的可用來源。
篩選器會在「設定」階段中設定,但不會取得資源 URL 或內容的相關資訊。
在「中介資料」階段,網頁抓取程式會遇到資源的 URL,但還未下載資源的內容。因此可提供關於 URL 以及源自其他來源 (如 filter.conf 檔案) 的資料之相關資訊。然而在此階段中,不提供關於資源內容的資訊。
表 12–2 在中介資料階段中可用於 RAF 的來源
來源 |
說明 |
範例 |
---|---|---|
csid |
目錄伺服器 ID |
x-catalog//budgie.siroe.com:8086/alexandria |
深度 |
從起點移動的連結數 |
10 |
列舉篩選器 |
列舉篩選器名稱 |
enumeration1 |
產生篩選器 |
產生篩選器名稱 |
generation1 |
主機 |
URL 的主機部分 |
home.siroe.com |
IP |
主機的數值版本 |
198.95.249.6 |
協定 |
URL 的存取部分 |
http, https, ftp, file |
路徑 |
URL 的路徑部分 |
/, /index.html, /documents/listing.html |
URL |
完整的 URL |
http://developer.siroe.com/docs/manuals/ |
在「資料」階段,網頁抓取程式已下載該 URL 處的資源內容,並可存取與該內容相關的資料,例如描述和作者。
若資源是 HTML 檔案,則網頁抓取程式會剖析 HTML 標頭中的 <META> 標記。因此,可以在「資料」階段中取得任何包含於 <META> 標記的資料。
在「資料」階段中,除了那些在「中介資料」階段可使用的來源外,以下來源可用於 RAF。
表 12–3 在資料階段中可用於 RAF 的來源
來源 |
說明 |
範例 |
---|---|---|
content-charset |
用於資源的字元集 | |
content-encoding |
編碼的任何形式 | |
content-length |
以位元組為單位的資源大小 | |
content-type |
資源的 MIME 類型 |
text/html, image/jpeg |
expires |
資源到期的日期 | |
last-modified |
資源上次修改的日期 | |
<META> 標記中的資料 |
於 HTML 資源標頭中的 <META> 標記中所提供的任何資料。 |
作者、描述、關鍵字 |
擷取資源時,會傳回所有源自 HTTP 回應標頭的來源 (<META> 標記中的資料除外)。
在「列舉」與「產生」階段中,可用資料來源與「資料」階段的可用資料來源相同。如需詳細資訊,請參閱表 12–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 功能均會執行比較,進而允許或拒絕該資源。允許資源意味繼續執行至下一個篩選步驟。拒絕資源意味程序應停止,因為資源不符合進一步列舉或產生的條件。
若 allow/deny 字串完全符合資訊來源,則 filter-by-exact 功能會允許或拒絕該資源。關鍵字 all 會符合所有字串。
資訊來源
包含字串
下列範例會篩選出所有 content-type 為 text/plain 的資源。其允許所有其他資源繼續作業:
Data fn=filter-by-exact src=type deny=text/plain
若指定的資訊來源少於或等於指定值,則 filter-by-max 功能會允許資源。若資訊來源大於指定值,則會拒絕資源。
每個篩選器只能呼叫此功能一次。
filter-by-max 功能會列出與 filter-by-max 功能搭配使用的特性。
資訊來源:主機、物件或深度
指定用於比較的值
此範例允許 content-length 小於 1024 kb 的資源:
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 會符合所有字串。
資訊來源
包含用於前綴比較的字串
下列範例允許 content-type 為任何文字類型 (包括 text/html 與 text/plain) 的資源:
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
如果目前資源的類型符合指定的 MIME 類型,convert-to-html 功能會將目前資源轉換為 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> 標記的中介資料取得資源的任何到期資料。若沒有,則該功能會產生距目前日期三個月後的的日期作為到期日期。
來源名稱。如果您省略它,則來源會預設為 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,可限制列舉那些具有特定 Content-type 的 URL。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> 資訊,並將其新增至資源描述。可指定 content-type 以限制產生的 URL 類型。
要擷取的最大位元數
選擇性特性。如果省略,則產生所有 URL
Generate fn=extract-html-meta truncate=255 type=text/html
extract-html-text 功能會從 HTML 檔案擷取開頭幾個字元 (不包括 HTML 標記),並將此文字新增至資源描述。此功能允許在 RD 中包括文件開頭部分的文字。可指定 content-type 以限制產生的 URL 類型。
要擷取的最大位元數
設定 true 以忽略在文件中出現的任何 HTML 標頭。
選擇性特性。如果省略,則產生所有 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 的來源值,並將其儲存至 RD 中名為 content-type 的屬性下。
Generate fn=extract-source src="md5,depth,rd-expires,rd-last-modified"
harvest-summarizer 功能會在資源上執行 Harvest 摘要器,並將結果新增至資源描述中。
若要執行 Harvest 摘要器,在執行網頁抓取程式之前,您的 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 檔案範例。
表 12–4 列示 robot.conf 檔案中您可變更的特性。
表 12–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> |