Sun Java System Portal Server 6 2004Q2 管理員指南 |
第 10 章
管理搜尋引擎服務本章會說明如何配置與管理 Sun Java System Portal Server 搜尋引擎服務。
本章包含下列章節:
搜尋引擎服務簡介Sun Java System Portal Server 搜尋引擎是一種分類法暨資料庫服務,專門支援搜尋及瀏覽介面,功能類似 Google、Alta Vista 等常見的網際網路搜尋引擎。搜尋引擎內含自動器程式,負責搜尋、轉換並彙集文件資源。在 Sun Java System Portal Server 6 2004Q2 中,介面是由桌面使用 JSP 提供者單獨提供。搜尋引擎內含用來編輯配置的管理工具,以及系統管理用的指令行工具。透過 Sun Java System Identity Server 管理主控台可定義配置設定,並將其儲存成 Sun Java System Identity Server 服務屬性值。
搜尋資料庫
搜尋使用者係在資料庫中進行搜尋,找出特定資源或某類資源。資料庫中的各個項目稱作資源描述 (RD)。一個資源描述即為某一資源的一個特定的資料集。每個資源描述的欄位是由資料庫模式決定。
在資料庫中加入 RD 的方法有兩種:
Sun Java System Portal Server 搜尋引擎中的 RD乃依據開放式網際網路標準 (例如「摘要物件交換格式 (SOIF)」和資源描述訊息 (RDM)) 而定。這些標準能夠讓搜尋引擎在跨平台企業環境中運作。
搜尋自動器
填充資料庫的方法之一是透過自動器。搜尋引擎採用自動器尋找並報告其網域內的資源。自動器是一種小程式,其功能有二:
身為系統管理員,您會透過多種方法來控制這些程序的每一個方面,包括:
搜尋引擎亦提供公用程式,以確保自動器確實達成您所要的結果。
資料庫分類法種類
使用者可用兩種不同的方式與搜尋系統產生互動:使用者可鍵入直接查詢以搜尋資料庫,或是使用自己設計的一組種類來瀏覽整個資料庫內容。種類的階層有時被稱作分類法。資源分類好比是為資料庫建立一個目錄。
瀏覽是搜尋系統的選用功能。也就是說,不一定要使用依種類瀏覽的功能,依然能夠擁有相當好用的搜尋系統。您需判定加入可瀏覽的種類對於索引使用者來說是否實用,以及應建立哪些種類。
搜尋資料庫中的資源需指派到各個種類以釐清複雜性。如資料庫中的項目數量龐大,宜將相關項目分組歸類。如此可讓使用者迅速找出特定類型的項目、在類似項目之間進行比較,而從中選擇所要的項目。
這種分類方式在產品及服務索引中十分常見。服飾型錄會分男裝、女裝及童裝服飾,每一大類又可細分為外套、襯衫、鞋子等。辦公室用品型錄則可區分為傢具、文具用品、電腦及軟體等。廣告目錄即根據產品及服務的種類編排而成。
印刷品索引的分門別類原則亦適用於線上索引。其用意是讓使用者易於找出特定類型的資源,以便從中選擇自己所要的資訊。無論您設計的索引範圍大或小,設定種類時都應以可用性為首要考量。換句話說,您需要瞭解使用者如何使用種類。例如
您受託為一家在三個不同地區設有辦事處的公司設計索引,此時您可能會以各家分公司作為頂層種類。但假設使用者對於業務執掌的重視超乎地緣關係,則依據企業部門進行資源分類較為適宜。
種類一旦定義,就必須設定規則將資源指派到各個種類。這些規則稱作分類規則。如未適當定義分類規則,使用者將無法透過瀏覽種類的方式找出資源。您固然應避免將資源歸類錯誤,但也要避免漏歸類文件。
文件可指派到多項種類,最多達設定值定義的數目為止。分類規則不需要經過任何流程控制決定,因此比過濾器規則單純。在分類規則下,您需要決定使用何種準則將特定種類指派到某項資源,使其成為資源描述中的一部份。分類規則是一種簡單的條件陳述式,格式為「if <某條件> is true, assign the resource to <種類>」。
配置搜尋通道本節說明如何進行搜尋引擎服務的初始配置。配置設定可透過 Sun Java System Identity Server 管理主控台加以定義,並儲存為 Sun Java System Identity Server 服務屬性值。
搜尋服務為全域註冊,其配置適用於整個 Portal Server。在預設下,您在 Sun Java System Portal Server 安裝期間所指定的組織將會註冊搜尋服務。如安裝範例入口網站,範例入口網站 桌面 的 [搜尋] 標籤即包含搜尋通道。這會在 Sun Java System Portal Server 安裝期間自動配置。不過,您必須為新組織和新實例定義搜尋 URL。
搜尋提供者使用者的預設行為是,當使用者輸入查詢時顯示「找不到符合文件」。
您需要配置搜尋伺服器並建立文件資料庫,才能獲得搜尋結果。
起始配置搜尋伺服器
請參照下列步驟配置搜尋提供者。此方法僅為填充資料庫的舉例。您也可以使用匯入功能。
- 以管理員的身份登入 Sun Java System Identity Server 管理主控台。
依預設,已選取位置窗格中的 [識別管理] 且 [所有已建立的組織] 已顯示於導覽窗格中。
- 選擇位置窗格中的 [服務配置]。
- 按一下導覽窗格中搜尋旁邊的特性箭頭。
- 建立新站台。
- 按一下 [Robot]。
- 按一下 [站台]。
- 按一下 [管理站台] 下方的 [新增],定義應交由自動器編列索引的站台。
- 指定站台類型 (URL 或網域)、應編列索引的站台,以及自動器耙梳的深度。
- 按一下 [建立站台] 以套用預設的搜尋屬性,或是選取 [建立並編輯站台],將搜尋站台定義得更完善。
有關定義站台屬性的更多資訊,請參閱附錄 F,「搜尋屬性」。
- 建立分類法。
建立分類法時,可使用 [種類] 下的 [種類編輯程式],或者將範例分類法 SOIF 檔複製到 config/taxonomy.rdm。
- 停用任何不需使用的預設過濾器。
按一下 [Robot] 後再按 [過濾器]。關閉 [過濾器規則] 清單中任何不需使用的過濾器。
- (選擇性) 如要分種類顯示文件搜尋結果,需建立自動器分類規則。
您可以使用 [種類] 下的 [分類規則編輯程式] 來建立自動器分類規則。
- 啟動自動器。
依序按一下 [Robot]、[摘要] 及 [啟動],即可啟動自動器。
- 重新編列種類索引。
按一下 [種類] 後再按 [重新編列索引],開始重新編列索引。
要定義搜尋 URL
searchServer 特性用來定義 搜尋 URL。此屬性係自動配置到預設的組織;但是當您建立新的組織或新的 SearchProvider 執行個體,或者手動載入範例 dp-org.xml 時,此值都不會自動定義。使用者如於此值未定義的情況下進行搜尋,該使用者的桌面會出現下列錯誤訊息:
You got a com.sun.portal.search.providers.taglib.SearchTaglibException: SearchRequest Error: search server is not defined.
- 以管理員的身份登入 Sun Java System Identity Server 管理主控台。
依預設,已選取位置窗格中的 [識別管理] 且 [所有已建立的組織] 已顯示於導覽窗格中。
- 選擇組織作為定義搜尋 URL 的對象。
- 從 [檢視] 功能表中選擇 [服務]。
使用導覽窗格中的 [顯示] 功能表以及位置窗格中的位置路徑。
- 按一下導覽窗格中 [桌面] 旁邊的特性箭頭。
桌面屬性頁面隨即出現在資料窗格中。
- 在桌面頁中按一下 [通道與容器管理] 連結。
[通道] 頁面隨即顯示。容器路徑顯示於頂端。已定義的通道會顯示在清單中。
- 按一下您要修改的 [搜尋] 通道旁之 [編輯特性] 連結。
[特性] 頁面隨即顯示。
- 指定「搜尋伺服器」特性中的 搜尋URL,格式為:
http://portal_server_name:port/portal/search
- 按一下 [儲存]。
- 執行下列動作,檢驗搜尋 URL:
管理搜尋引擎一旦初次完成搜尋引擎配置並產生資料庫後,即可從 Sun Java System Identity Server 管理主控台檢視並管理搜尋引擎。
檢視、管理與監視搜尋引擎作業
搜尋引擎的操作屬性有兩種層級:基本層級和進階層級。當您從管理主控台選取搜尋服務時,會依預設顯示基本設定頁面。其中的基本設定包括伺服器根目錄、暫存檔的存放位置,以及文件層次安全性。進階設定項目則包括各種搜尋引擎元件的記錄位置,及已配置的日誌層次。
此外,管理主控台還可供管理員檢視日誌檔案,或是從日誌檔中擷取出來的特定資訊。
檢視或管理基本設定
- 以管理員的身份登入 Sun Java System Identity Server 管理主控台。
依預設,已選取位置窗格中的 [識別管理] 且 [所有已建立的組織] 已顯示於導覽窗格中。
- 選擇位置窗格中的 [服務配置]。
- 按一下導覽窗格中搜尋旁邊的特性箭頭。
- 從功能表列按一下 [伺服器],再按 [設定]。
- 檢視或指定搜尋引擎的「伺服器根」目錄。
- 檢視或指定搜尋引擎的「暫存檔」目錄。
- 檢視或指定「文件層次安全性」屬性。
關閉表示所有使用者皆可存取資料庫中的 RD。開啟表示必須先評估 RD 中的 ReadACL 欄位,之後才能確定使用者是否有權存取 RD。
- 按一下 [儲存] 以記錄任何更動過的屬性。
檢視或管理進階設定
要監視搜尋引擎活動
搜尋引擎提供多種報告可供您監視搜尋活動。
檢視各種報告的步驟如下:
管理自動器以下舉出您在管理自動器時可能需要執行的一些配置及維護工作:
定義站台
自動器的作用在於找出資源並判定是否 (及如何) 將其描述加入資料庫中。而決定應造訪哪些伺服器以及應對該等伺服器的哪些部分編列索引,即所謂的站台定義。
定義搜尋引擎的站台乃是伺服器管理員的重要工作之一。您一方面必須確定將自動器傳送到所有需要編列索引的伺服器,同時也需要剔除無關緊要的站台,以免因其佔據資料庫而難以找出正確資訊。
定義站台供自動器編列索引
- 以管理員的身份登入 Sun Java System Identity Server 管理主控台。
依預設,已選取位置窗格中的 [識別管理] 且 [所有已建立的組織] 已顯示於導覽窗格中。
- 選擇位置窗格中的 [服務配置]。
- 按一下導覽窗格中搜尋旁邊的特性箭頭。
- 從功能表列按一下 [Robot],再按 [站台]。
- 要建立站台:
- 要編輯站台屬性,按一下 [編輯] 連結。
如此會顯示內含站台屬性的表單。有關站台屬性的資訊,請參閱附錄 F,「搜尋屬性」。
控制自動器耙梳
自動器會針對選取作編列索引的各個站台進行耙梳。管理員可藉由定義耙梳的操作參數來控制自動器搜尋站台的方式。耙梳參數可供您定義速率、完成動作、登入層級、符合標準、鑑別參數、代理伺服器設定、依循連結的最大數目,以及其他設定等。有關自動器耙梳屬性之說明,請參閱附錄 F,「搜尋屬性」。
若要控制自動器耙梳
- 以管理員的身份登入 Sun Java System Identity Server 管理主控台。
依預設,已選取位置窗格中的 [識別管理] 且 [所有已建立的組織] 已顯示於導覽窗格中。
- 選擇位置窗格中的 [服務配置]。
- 按一下導覽窗格中搜尋旁邊的特性箭頭。
- 從功能表列上按一下 [Robot],接著按 [耙梳]。
如此會顯示一個窗體,其中包含定義自動器耙梳操作參數及其設定的屬性。有關自動器耙梳屬性的資訊,請參閱附錄 F,「搜尋屬性」。
- 視需要修改自動器耙梳屬性。
- 按一下 [儲存]。
過濾自動器資料
過濾器允許您將資源屬性與過濾器定義進行比對,藉此識別資源,從而可依站台定義將其排除或納入。自動器本身提供許數預先定義的過濾器,其中有部分為預設啟用。下列為預先定義的過濾器,帶有星號者表示預設啟用:
為了管理過濾程序,您可以建立新的過濾器定義、修改過濾器定義,或者啟用或停用過濾器。
要新建過濾器定義
- 以管理員的身份登入 Sun Java System Identity Server 管理主控台。
依預設,已選取位置窗格中的 [識別管理] 且 [所有已建立的組織] 已顯示於導覽窗格中。
- 選擇位置窗格中的 [服務配置]。
- 按一下導覽窗格中搜尋旁邊的特性箭頭。
- 從功能表列按一下 [Robot],再按 [過濾器]。
- 按一下 [新增] 並指定新過濾器的 [暱稱]。
- 在 [過濾器定義] 中,勾選核取方塊並指定 [過濾器來源]、[過濾依據] 及 [過濾器字串] 等設定值。您可視需要指定多個過濾器定義。
- 鍵入過濾器的描述。
- 如要在建立新站台時使用此過濾器,請勾選 [新站台]。
- 按一下按鈕指明是要納入或排除符合此過濾器的資源。
- 按一下 [儲存]。
要修改現有的過濾器定義
要啟用或停用過濾器
定義編列索引屬性
自動器會針對每個通過自動器過濾器的資源產生 RD,並放置在資料庫中。您對於產生 RD 所做的設定,將決定使用者搜尋資料庫時得到的結果。例如,您可以選擇將各個文件的完整內文編列索引,或者僅將文件開始的某些固定部份編列索引。
要定義編列索引屬性:
- 以管理員的身份登入 Sun Java System Identity Server 管理主控台。
依預設,已選取位置窗格中的 [識別管理] 且 [所有已建立的組織] 已顯示於導覽窗格中。
- 選擇位置窗格中的 [服務配置]。
- 按一下導覽窗格中搜尋旁邊的特性箭頭。
- 從功能表列按一下 [Robot],再按 [編列索引]。
如此會出現一個頁面,其中包含定義自動器編列索引操作參數及其設定的屬性。有關自動器編列索引屬性的資訊,請參閱附錄 F,「搜尋屬性」。
- 視需要修改自動器編列索引屬性。
- 按一下 [儲存]。
使用自動器公用程式
自動器具有兩種除錯工具或公用程式:
執行站台探查公用程式
執行模擬器
自動器排程
為維持搜尋資料的時效,自動器應定時搜尋站台並編列索引。因為自動器耙梳及編列索引時會消耗處理資源及網路頻寬,為避免受到這些資源的限制,您應當排定讓自動器在非尖峰日期及時段執行。管理主控台可供管理員設定 cron 工作,以及執行自動器的時間和日期。
進行自動器排程
管理資料庫搜尋引擎會將資源描述儲存在資料庫中。以下舉出您在管理資料庫時可能需執行的一些配置及維護工作:
匯入至資料庫
一般而言,您搜尋資料庫中的項目通常來自自動器。只要告訴自動器去造訪哪些網站,它就會找出所有找得到的資源並產生描述。不過您也可以將現有的項目匯入資料庫,無論是從 Sun Java System Portal Server 搜尋引擎、iPlanet Web Servers、Netscape Enterprise Servers 或其他來源所產生的資料庫均可。以匯入現有資料庫 RD 的方式取代傳送自動器建立新的 RD,不但有助於減少網路流量負荷,亦可透過分工而加速完成龐大的編列索引工作。當中央資料庫與編列索引的伺服器之間的實際距離較遠時,可先在本端產生 RD,再讓中央資料庫定時匯入各個遠端資料庫。
搜尋引擎是以匯入代理程式從另一台伺服器或資料庫匯入 RD。匯入代理程式係一項程序,即從外部來源擷取許多的 RD,再將該等資訊合併到本端資料庫中。其中含有參數,告訴程式到哪裡匯入 RD、到達目標時提出何種要求,以及用來善加控制其執行匯入工作的其他資訊等。
在匯入資料庫前,必須先建立匯入代理程式。代理程式一旦建立完成後,即可立刻開始進行匯入程序,或是排定執行匯入程序的時間。
建立匯入代理程式
- 以管理員的身份登入 Sun Java System Identity Server 管理主控台。
依預設,已選取位置窗格中的 [識別管理] 且 [所有已建立的組織] 已顯示於導覽窗格中。
- 選擇位置窗格中的 [服務配置]。
- 按一下導覽窗格中搜尋旁邊的特性箭頭。
- 選取 [資料庫] 並按一下 [匯入代理程式] 連結。
- 按一下 [新建]。
出現匯入代理程式的屬性頁面。
- 針對匯入代理程式指定適當的屬性。
有關資料庫匯入屬性的資訊,請參閱附錄 F,「搜尋屬性」。
- 按一下 [儲存]。
編輯現有的匯入代理程式
- 以管理員的身份登入 Sun Java System Identity Server 管理主控台。
依預設,已選取位置窗格中的 [識別管理] 且 [所有已建立的組織] 已顯示於導覽窗格中。
- 選擇位置窗格中的 [服務配置]。
- 按一下導覽窗格中搜尋旁邊的特性箭頭。
- 選取 [資料庫] 並按一下 [匯入代理程式] 連結。
- 按一下代理程式右側的 [編輯] 連結開始編輯。
- 針對匯入代理程式指定適當的屬性。
有關資料庫匯入屬性的資訊,請參閱附錄 F,「搜尋屬性」。
- 按一下 [儲存]。
編輯資源描述
有時您會遇到需要變更一項或多項資源描述內容的情形。例如,您可能需要修正從原始文件複製到資源描述中的編排錯誤。
若要編輯資源描述
- 以管理員的身份登入 Sun Java System Identity Server 管理主控台。
依預設,已選取位置窗格中的 [識別管理] 且 [所有已建立的組織] 已顯示於導覽窗格中。
- 選擇位置窗格中的 [服務配置]。
- 按一下導覽窗格中搜尋旁邊的特性箭頭。
- 從功能表列按一下 [資料庫],再按 [資源描述]。
- 選取所要搜尋的資源描述類型,以便進行編輯。
可用的類型如下:全部 RD、未分類的 RD、已分類的 RD、依種類區分的 RD、依 URL 區分的特定 RD、包含的 RD。
- 如選用包含資源描述,請指定要在資源描述中搜尋的文字字串。
- 按一下 [搜尋]。
- 從找到的資源描述清單中,選取您要編輯的資源描述。
- 適當編輯資源描述屬性。
- 按一下 [儲存]。
編輯資料庫模式
模式決定您的搜尋引擎針對各項資源所維護的資訊及其格式。您的模式設計會決定影響索引可用性的兩大因素:
模式是指資料庫中的資源描述之主資料結構。您對該資料結構的欄位之定義與索引方式,會大幅影響到使用者存取資源的程度。
模式與搜尋引擎及其自動器所使用的檔案之結構息息相關。應一律使用管理主控台中的模式工具來變更資料結構。切勿直接編輯模式檔 (schema.rdm),即使該檔案是文字檔也不可擅自編輯。
您可以編輯搜尋引擎的資料庫模式,在其中加入新的模式屬性、編輯模式屬性或刪除屬性。
模式具有下列屬性:
- 可編輯—勾選後,此屬性將表示顯示於資源描述編輯器的屬性,如此您將可以變更其值。有關資源描述編輯器的說明,請參閱編輯資源描述。
- 可編列索引—此屬性代表 [進階搜尋] 畫面的快顯功能表中出現的欄位。以便讓使用者搜尋該特定欄位中的值。
- 描述—用來描述模式的文字字串。可當作註釋或備註使用。
- 別名—此屬性可供您定義別名,以便將匯入的資料庫模式名稱轉換成您自己的模式。
編輯資料庫模式
定義模式別名
有一些情形下資料庫模式中的欄位所使用的名稱之間可能會相互矛盾。其中一種是當您將資源描述從某伺服器匯入另一伺服器時發生。您無法保證雙方伺服器一律使用相同的模式項目名稱。同樣的,當自動器將 HTML META 標記從文件轉換到模式欄位時,是由文件控制名稱。
搜尋引擎可讓您針對模式特性定義模式別名,使這些外部模式名稱對映到您資料庫欄位的有效名稱。
定義模式別名
檢視資料庫分析
搜尋引擎可產生報告,提供有關已編列索引的站台數以及資料庫中各個站台之資源數目等資訊。
檢視資料庫分析資訊
重新編列資料庫索引
在特定情況下,您可能需要針對搜尋引擎對資源描述資料庫重新編列索引。較顯著的實例像是當您著手編輯模式以新增或移除已編列索引的欄位之情形。
如因磁碟錯誤造成索引檔損毀時,可能也需要重新編列資料庫索引。此外,新增大量資源描述後最好也要重新編列索引。
重新編列資料庫索引可能需要數小時來完成。
資料庫中的記錄越多,則重新編列資料庫索引所需的時間越長,因此當您擁有龐大的資料庫時,應當利用伺服器的低峰期間執行重新編列索引的工作。
重新編列資料庫索引
使資料庫到期
使資料庫到期會讓資源描述形同過期。唯有當您截止期限時,資源描述才會到期。過期的資源描述會被刪除,但資料庫大小不會減少。
若要使資料庫到期
清除資料庫
到期日是資源描述的屬性之一。您的自動器可透過 HTML META 標記或資源伺服器所提供的資訊設定到期日。在預設下,資源描述自建立日起三個月後過期,除非資源另有指定不同的到期日。您應讓搜尋引擎定期清除資料庫中過期的資源描述。
清除功能可用來移除資料庫的內容。用於索引的磁碟空間將會回復,但是用於主資料庫的磁碟空間將不會回復,該空間將會被再利用,作為新資料新增至資料庫中。
要清除伺服器中過期的資源描述:
分割資料庫
搜尋引擎可讓您分割涉及搜尋資料庫的實體檔案,無論該資料庫是否使用多個磁碟、檔案系統、目錄或分割區。透過將資料庫散佈在不同的實體或邏輯裝置中,您可建立超過單一裝置容量的大型資料庫。
在預設下,搜尋引擎設定資料庫僅使用一個目錄。指令行介面可供您針對資料庫分割區執行兩種操作:
搜尋引擎不會檢查各分割區是否尚有剩餘空間。您必須自行維護足夠的空間供資料庫使用。
資料庫分割區最多共可新增到 15 個。
您可以變更任何資料庫分割區的實體位置,只要指定新位置的名稱即可。同樣的,您也可以將現有的分割區重新命名。使用 rdmgr 指令進行分割區操作。有關 rdmgr 指令的資訊,請參閱第 21 章,「指令行公用程式」。
管理資料庫分類法以下舉出您在管理資料庫分類法時可能需執行的一些配置及維護工作:
配置種類
透過 Sun Java System Identity Server 管理主控台可執行下列程序來配置資料庫分類法:
要建立子種類
建立兄弟種類
更新種類
刪除種類
定義分類規則
分類規則是一種簡單的條件陳述式。其格式為「if <某條件> is true, assign the resource to <種類>」。
定義分類規則
- 以管理員的身份登入 Sun Java System Identity Server 管理主控台。
依預設,已選取位置窗格中的 [識別管理] 且 [所有已建立的組織] 已顯示於導覽窗格中。
- 選擇位置窗格中的 [服務配置]。
- 按一下導覽窗格中搜尋旁邊的特性箭頭。
- 從功能表列按一下 [種類],再按 [分類規則編輯器]。
- 如要建立新規則,請按一下 [新增]。
- 如要編輯現有規則,請選取規則。
- 在下拉功能表中按一下元素類型或屬性,以供資源分類之用。
- 在下拉功能表中按一下比對測試。
可用的比對測試有:是、包含、開始於、結束於或常規表示式。
- 定義比對用的文字字串。
- 如比對結果為真,按一下要進行資源分類的種類。
- 按一下 [儲存]。