Sun Java System Portal Server 6 2005Q4 管理指南 |
第 15 章
預定義的網頁抓取程式應用程式功能本章提供 Sun Java System Portal Server 搜尋引擎中預先定義的「網頁抓取應用程式功能 (RAF)」的說明、參數規格與範例。您可以在 filter.conf 檔案中使用這些功能以建立與修改篩選器功能。filter.conf 檔案位於 /var/opt/SUNWps/http-hostname-domain/portal/config 目錄中。
filter.conf 檔案包含列舉與產生篩選器的定義。每個篩選器會呼叫儲存於 filterrules.conf 檔案的規則集。篩選器定義包含當篩選器規則包含由兩個篩選器使用的規則時,指定至每個篩選器的指令。
若要了解篩選器規則是如何定義的,請檢驗 filterrules.conf 檔案。請注意,在一般情況下,您不需要手動編輯這個檔案,因為您已使用管理主控台建立篩選器規則。
若要查看篩選器定義的範例,您應該檢驗 filter.conf 檔案。您只需要編輯 filter.conf 檔案,並使用管理主控台中沒有考慮到的方法來修改篩選器,例如指示 Robpt 列舉一些資源而無需為它們產生資源。
本章包含下列章節:
來源和目標大部分的網頁抓取程式應用程式功能 (RAF) 需要資訊來源並產生到達目標的資料。來源會在網頁抓取程式本身之中定義,不一定要與最終產生的資源說明欄相關。在另一方面,目標通常是資源說明中的欄位名稱,由資源說明伺服器模式所定義。
如需更多關於使用管理主控台決定資料庫綱要的資訊,請參閱第 13 章「管理搜尋引擎服務」。
下列章節會說明篩選程序的不同階段,與這些階段的可用來源。
設定階段的可用來源
在「設定」階段,會設定篩選器且尚未取得關於資源的 URL 或內容的資訊。
中介資料篩選階段的可用來源
在中介資料階段,網頁抓取程式會遇到資源的 URL,但尚未下載資源內容,因此仍可取得關於 URL 與源自其他來源的資料 (例如 filter.conf 檔案) 的相關資訊。然而在這個階段中,尚無法取得關於資源內容的資訊。
表 15-1 列示出可用於「中介資料」階段的 RAF。本表格包括三欄。第一欄會列出來源,第二欄會提供說明,第三欄會提供範例。
資料階段的可用來源
在「資料」階段中,網頁抓取程式已在 URL 下載資源的內容,並可以存取關於內容的資料,例如說明、作者等等。
若資源是 HTML 檔案,則網頁抓取程式會剖析 HTML 標頭中的 <META> 標記。因此,可以在「資料」階段中取得任何包含於 <META> 標記的資料。
在資料階段的期間,除可用於「中介資料」階段的來源之外,下列來源皆可用於 RAF 中。本表格包括三欄。第一欄會列出來源,第二欄會提供說明,第三欄會提供範例。
擷取資源時,會傳回所有衍生於 HTTP 回應標頭的來源 (除了 <META> 標記資料以外)。
可用於列舉、產生與關閉階段的來源
在「列舉」與「產生」階段中,同樣的資料來源也可用於「資料」階段。
在「關閉」階段,篩選器會完成其篩選作業並關閉。雖然為這個階段寫入的功能可以使用那些與可用於「資料」階段相同的資料來源,一般而言,關閉功能會限制其作業以關閉並清除活動。
啟用參數
每種功能皆有一個 enable 參數。值可為 true、false、on 或 off。管理主控台會使用這些參數以開啟或關閉特定指令。
下列範例會啟用 text/html 的列舉並停用 text/plain 的列舉:
# Perform the enumeration on HTML only
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 參數會擁有與註釋行相同的效力。因為管理主控台沒有寫入註釋,它寫入的是 enable 參數。
設定功能本節說明在設定階段期間由列舉與產生篩選器使用的功能。將說明下列功能:
filterrules-setup
當您使用 filterrules-setup 功能時,logtype 是要使用的紀錄檔案類型。值可以為 verbose、normal 或 terse。
參數
表 15-3 會列出與 filterrules-setup 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
Setup fn=filterrules-setup config=./config/filterrules.conf logtype=normal
setup-regex-cache
setup-regex-cache 功能會初始化 filter-by-regex 與 generate-by-regex 功能的快取大小。使用這個功能指定不同於預設值 32 的數字。
參數
表 15-4 會列出與 setup-regex-cache 功能一起使用的參數。本表格包括三欄。第一欄會列出參數,第二欄會提供說明,第三欄會提供範例。
範例
Setup fn=setup-regex-cache cache-size=28
setup-type-by-extension
setup-type-by-extension 功能會設定篩選器以識別檔案名稱副檔名。它必須要先被呼叫之後,您才能夠使用 assign-type-by-extension 功能。指定為參數的檔案必須包括在標準 MIME 內容類型與檔案副檔名字串之間的對映。
參數
表 15-5 會列出與 setup-type-by-extension 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
Setup fn=setup-type-by-extension file=./config/mime.types
篩選功能下列功能會作業於「中介資料」與「資料」階段以允許或拒絕以指定條件為基礎的資源 (由功能與其參數指定)。
這些功能可以用於 filter.conf 檔案的「列舉」與「產生」篩選器。
每個「篩選器依據」功能均會執行比較,進而允許或拒絕該資源。允許資源意味繼續執行至下一個篩選步驟。拒絕資源意味程序應停止,因為資源不符合進一步列舉或產生的條件。
本節說明下列功能:
filter-by-exact
若 allow/deny 字串完全符合資訊來源,則 filter-by-exact 功能會允許或拒絕該資源。關鍵字 all 會符合所有字串。
參數
表 15-6 會列出與 filter-by-exact 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
下列範例篩選器會列出所有內容-類型為 text/plain 的資源。其允許所有資源以繼續作業:
Data fn=filter-by-exact src=type deny=text/plain
filter-by-max
若指定的資訊來源少於或等於給定值,則 filter-by-max 功能會允許資源。若資訊來源大於給定值,則其會拒絕資源。
每個篩選器不能呼叫這個功能超過一次。
參數
表 15-7 會列出與 filter-by-max 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
這個範例允許內容-長度少於 1024 K 的資訊:
MetaData fn-filter-by-max src=content-length value=1024
filter-by-md5
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
若給定資料來源由指定的前綴字串開始,則 filter-by-prefix 功能會允許或拒絕來源。資源不必完全符合。關鍵字 all 會符合所有字串。
參數
表 15-8 會列出與 filter-by-prefix 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
下列範例允許內容-類型為任何文字類型的資源,包括 text/html 與 text/plain:
MetaData fn=filter-by-prefix src=type allow=text
filter-by-regex
filter-by-regex 功能支援常規表示式式樣匹配。其允許符合給定常規表示式的資源。支援的常規表示式語法是由 POSIX.1 規格定義。常規表示式 \\* 符合所有事項。
參數
表 15-9 會列出與 filter-by-regex 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
下列範例會拒絕政府網站中的所有資源:
MetaData fn=filter-by-regex src=host deny=\\*.gov
filterrules-process
filterrules-process 功能會處理 filterrules.conf 檔案中的規則。
參數
無
範例
MetaData fn=filterrules-process
篩選支援功能下列功能會用於篩選期間以操控或產生來源的資訊。網頁抓取程式之後可以藉由篩選功能處理資源。這些功能可以用於 filter.conf 檔案的「列舉」與「產生」篩選器。將說明下列功能:
assign-source
assign-source 功能會指派一個新值給給定的資訊來源。這允許篩選程序期間的編輯作業。這個功能可以指派明確的新值,或複製其他資訊來源的值。
參數
表 15-10 會列出與 assign-source 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
您必須指定 value 參數或 src 參數,但不可兩者皆指定。
範例
Data fn=assign-source dst=type src=content-type
assign-type-by-extension
assign-type-by-extension 功能會使用資源的檔案名稱決定類型,並將此類型指定給資源以做進一步的處理。
setup-type-by-extension 功能必須在可以使用 assign-type-by-extension 之前的設定期間呼叫。
參數
表 15-11 會列出與 assign-type-by-extension 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
MetaData fn=assign-type-by-extension
clear-source
clear-source 功能會刪除指定的資料來源。一般您並不需要執行這個功能。您可以使用 assign-source 建立或替代來源。
參數
表 15-12 會列出與 clear-source 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
下列範例會刪除路徑來源:
MetaData fn=clear-source src=path
convert-to-html
若其類型符合指定的 MIME 類型,則 convert-to-html 功能會將目前資源轉換為進一步處理的 HTML 檔案。轉換篩選器會自動偵測其正在轉換的檔案類型。
參數
表 15-13 會列出與 convert-to-html 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
下列功能呼叫的序列會導致篩選器將所有 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
copy-attribute 功能會將值從資源說明欄位複製到另一個欄位。
參數
表 15-14 會列出與 copy-attribute 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
表 15-14 copy-attribute 參數
參數
說明
src
要複製的資源說明欄位。
dst
至複製來源的資源說明項目。
truncate
要複製的最大來源長度。
clean
布林參數表示是否修正已截斷的文字 (例如沒有留下部分文字)。此參數的預設值為 false。
範例
Generate fn=copy-attribute \
src=partial-text dst=description truncate=200 clean=true
generate-by-exact
只有在現有來源完全符合其他值時,generate-by-exact 功能才會使用指定的值產生來源。
參數
表 15-15 會列出與 generate-by-exact 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
若主機為 www.siroe.com,則下列範例會設定 Siroe 的分類。
Generate fn="generate-by-exact" match="www.siroe.com:80" src="host" value="Siroe" dst="classification"
generate-by-prefix
只有在現有來源的前綴完全符合其他值時,generate-by-prefix 功能才會使用指定的值產生來源。
參數
表 15-16 會列出與 generate-by-prefix 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
若通訊協定前綴為 HTTP,則下列範例會設定 Compass 的分類:
Generate fn="generate-by-prefix" match="http" src="protocol" value="World Wide Web" dst="classification"
generate-by-regex
只有在現有來源完全符合常規表示式時,generate-by-regex 功能才會使用指定的值產生來源。
參數
表 15-17 會列出與 generate-by-regex 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
若主機名稱符合常規表示式 *.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
generate-md5 功能會產生 MD5 總合檢查並將其新增至資源。然後,您可以使用 filter-by-md5 功能拒絕含有重複 MD5 總合檢查的資源。
參數
無
範例
Data fn=generate-md5
generate-rd-expires
generate-rd-expires 功能會產生到期日期並將其新增至指定來源。此功能會使用例如 HTTP 標頭與 HTML <META> 標記的中介資料取得資源的任何到期資料。若無日期存在,則其將產生距目前日期三個月後的的日期作為到期日期。
參數
表 15-18 會列出與 generate-rd-expires 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
Generate fn=generate-rd-expires
generate-rd-last-modified
generate-rd-last-modified 功能會新增目前時間至指定來源。
參數
表 15-19 會列出與 generate-rd-last-modified 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
Generate fn=generate-last-modified
rename-attribute
rename-attribute 功能會變更資源說明欄的名稱。其中最有用的地方,例如,extract-html-meta 會將資訊從 <META> 標記複製到欄位,且您想要變更欄位名稱。
參數
表 15-20 會列出與 generate-rd-last-modified 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
下列範例會將屬性名稱從作者重新命名為 author-name (作者-名稱):
Generate fn=rename-attribute src="author->author-name"
列舉功能下列功能會作用於「列舉」階段。這些功能會控制網頁抓取程式如何從給定資源中收集連結以使用為進一步資源探索的起點。下列功能將在這個章節中說明:
enumerate-urls
enumerate-urls 功能會掃描在超文字連結中找到的所有資源與列舉 URL。結果會用於產生更進一步的資源探索。您可以指定內容類型以限制已列舉的 URL 類型。
參數
表 15-21 會列出與 enumerate-urls 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
表 15-21 enumerate-urls 參數
參數
說明
max
從給定資源產生的最大 URL 數。若省略最大數,則預設值為 1024。
type
限制列舉已指定內容類型的 URL 內容-類型。type 是選擇性參數。若省略此參數,則會列舉所有 URL。
範例
下列範例僅會列舉 HTML URL,最大可達到 1024:
Enumerate fn=enumerate-urls type=text/html
enumerate-urls-from-text
enumerate-urls-from-text 功能會掃描文字資源,找尋符合常規表示式的字串:URL:.*。其會產生網頁抓取程式以列舉這些字串的 URL 並產生更進一步的資源說明。
參數
表 15-22 會列出與 enumerate-urls-from-text 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
Enumerate fn=enumerate-urls-from-text
產生功能下列功能會用於篩選的「產生」階段。產生功能可以產生用於資源說明的資訊。一般而言,會擷取資源本身主體的資訊或從資源中介資料複製資訊。下列功能將在這個章節中說明:
extract-full-text
extract-full-text 功能會從資源擷取完整文字,並將其新增至資源說明中。
參數
表 15-23 會列出與 extract-full-text 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
Generate fn=extract-full-text
extract-html-meta
extract-html-meta 功能會從 HTML 檔案擷取任何 <META> 或 <TITLE> 資訊,並將其新增至資源說明。Content-type (內容類型) 可能會被指定為限制已產生的 URL 的類型。
參數
表 15-24 會列出與 extract-html-meta 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
Generate fn=extract-html-meta truncate=255 type=text/html
extract-html-text
extract-html-text 功能會從 HTML 檔案擷取首先幾個字元,包括 HTML 標記,並將此文字新增至資源說明。這會允許要併入 RD 的文件文字的第一個部分。可能指定 content-type 以限制已產生的 URL 類型。
參數
表 15-25 會列出與 extract-html-text 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
表 15-25 extract-html-text 參數
參數
說明
truncate
要擷取的最大位元數。
skip-headings
設定 true 以忽略在文件中出現的任何 HTML 標頭。
type
選擇性參數。若省略,會列舉所有 URL。
範例
Generate fn=extract-html-text truncate=255 type=text/html skip-headings=true
extract-html-toc
extract-html-toc 功能會從 HTML 標頭擷取內容表格,並將其新增至資源說明。
參數
表 15-26 會列出與 extract-html-toc 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
Generate fn=extract-html-toc truncate=255 level=3
extract-source
extract-source 功能會從給定的來源擷取指定的值,並將其新增至資源說明。
參數
表 15-27 會列出與 extract-source 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
表 15-27 extract-source 參數
參數
說明
src
來源名稱清單,您可以使用 -> 運算符以定義 RD 屬性的新名稱,例如 type->content-type 會使用名為 type 的來源值,並將其儲存名為 content-type 的屬性之下的 RD 中。
範例
Generate fn=extract-source src="md5,depth,rd-expires,rd-last-modified"
harvest-summarizer
harvest-summarizer 功能會在資源上執行 Harvest summarizer,並將結果新增至資源說明中。
若要執行 Harvest summarizers,在執行網頁抓取程式之前,您的 path 中必須具備 $HARVEST_HOME/lib/gatherer。
參數
表 15-28 會列出與 harvest-summarizer 功能一起使用的參數。本表格包括兩欄。第一欄會列出參數,第二欄會提供說明。
範例
Generate fn-harvest-summarizer summarizer=HTML.sum
關閉功能下列功能可以使用列舉與產生功能而使用於關閉階段中。
filterrules-shutdown
在執行規則之後,filterrules-shutdown 功能會執行清除與關閉責任。
參數
無
範例
Shutdown fn=filterrules-shutdown