馬浩銘
(新疆質信通工程檢測技術有限公司,新疆 烏魯木齊 830011)
-n number 索引指定數目的文檔后退出。注意:在運行index-n number后,運行index-D程序。如果用戶使用多線程,索引的文檔數目會比預定的值高一些。
-N number 設置運行索引線程的數量。只有對多個網站進行索引時,多線程索引才有意義。兩個線程或多個線程不能同時對同一站點進行索引。
-R number 運行解析進程的數目。默認是線程數/5+1。如果用戶的服務器解析慢的時候,用戶需要增加默認值。
-a 重新索引所有的文檔,并忽略文檔的失效狀態。默認情況下,只有比Period時間早的文檔才被重新索引。
-m 存儲文檔中詞和超鏈接,忽略文檔的修改狀態。沒有這個參數時,只有修改的文檔才會被重新索引。
-o 優先抓深度淺的文檔。這里的跳躍指的是文檔的深度值。
-M繼續索引先前索引任務的URLs。這些URLs會被存儲在臨時MySQL數據庫中,這常用于調試目的。
-T URL索引URL到實時數據庫中,需要注意的是,用戶不能增加太多的文檔到實時數據庫中,否則檢索實時數據庫會非常地慢。實際上實時數據庫文檔的限制是依賴于硬件的,大約1000個urls,效果會比較好。實時數據庫的文檔歸并到主數據庫的命令是index-D。這個參數選項在重新索引經常需要改變的網頁時候非常有用。用戶可以及時地看到結果,用戶可以使用-A參數一起使用。
-C清理數據庫。用戶可以控制參數來限制清理數據庫的范圍。注意:清理規模較大的數據庫的速度會很慢。從文件中讀取將要被索引、插入、清除的URLs。用戶使用-做文件名,則URL列表將從標準輸入進行讀取。另外,指定抓取的網頁需明確。
-r file重定位信息輸出到指定file。
-g file設置index程序的統計信息的日志文件。
-E安全地停止已經運行的index程序。
Searchd是一個搜索守護進程,自動采集器利用這個守護進程,搜索index程序創建的數據庫,緩存搜索結果等。它主要是監聽s.cgi查詢的端口,執行搜索指令并返回s.cgi查詢的結果。Searchd為了加速搜索的速度——從數據庫一些數據加載到內存。如果硬盤的數據改變,Searchd程序會重新加載。
-D 運行searchd程序作為守護進程。用戶每次運行searchd,都需要使用這個參數。
-R 在searchd失敗的時候,能夠自動重新啟動searchd守護進程。如果用戶使用這個選項,搜索引擎將不會停止。
-l logfile設置searchd將日志寫入日志文件中。
如果在啟動searchd的時候,端口被其他程序占用,用戶不能從控制臺獲得錯誤信息,只能從日志文件中獲取,所以,在每次啟動searchd程序的時候,首先要檢查是否有其他程序占有該端口號,或者在searchd程序啟動后,檢查日志文件。
采用面向對象的設計思路,可以運行在常用的32位或64位Linux操作系統上,后臺數據庫采用MySQL 5.1,支持GBK、BIG5、UTF8、UNICODE等多種編碼格式,可以定制采集網址、欄目,支持分頁采集與網頁內容動態采集。
后臺數據庫名為searchDB,庫中的表名、字段名主要都是參照相應的英文名稱命名的,如:wordurl表示“關鍵詞所對應的url表”。管理數據庫可以使用命令行工具管理MySQL數據庫(命令mysql和 mysqladmin),也可以從MySQL的網站下載圖形管理工具MySQL Administrator和MySQL Query Browser,也可以采用更方便操作的phpMyAdmin通過Web界面管理后臺數據庫。軟件安裝所需的具體硬件環境和軟件支持要求如下:

表1 硬件環境最低要求
筆者重點介紹了網站資源信息自動采集功能模塊的相關技術,該采集器可做到在指定url種子中的相關欄目信息更新后,執行采集器采集信息時只采集最新的欄目,不重復采集,且采集過來的內容比較完整,只需簡單調整一下字體格式便可快速發布,簡單實用。該功能在本公司上線投入運行以來,給網站發布人員工作帶來了極大的便利,取得了令人滿意的應用效果。

表2 軟件環境要求