一、什麼是PHPdig?
PHPdig是國外非常流行的垂直搜索引擎產品(與其說是產品,不如說是一項區別於傳統搜索引擎的搜索技術),采用PHP語言編寫,利用了PHP程序運行的高效性,極大地提高了搜索反應速度,它可以像Google或者Baidu以及其它搜索引擎一樣搜索互聯網,搜索內容除了普通的網頁外還包括txt, doc, xls, pdf等各式的文件,具有強大的內容搜索和文件解析功能。PHPdig同傳統的搜索引擎一樣,包含了以下三種最基本的技術:
1.Spider技術
2.網頁結構化信息抽取技術或元數據采集技術
3.分詞、索引技術
區別於傳統搜索引擎,PHPdig適用於專業化更強、層次更深的個性化搜索引擎,利用它打造針對某一領域的垂直搜索引擎是最好的選擇。
二、如何獲得這PHPdig?
PHPdig是免費產品(需要保留版權),最新版本是 phpdig-1.8.9 為了避免Apache以及MYSQL的版本兼容性問題,建議采用較低級的版本,其網站地址是:http://www.phpdig.net ,下載地址是:http://www.phpdig.net/navigation.php?action=download 說明一下,我試用過phpdig-1.8.9版本,但出現了很多問題,改用PHPdig-1.8.8則問題較少。
三、具體步驟
1.獲取產品
訪問http://www.phpdig.net/navigation.php?action=download下載PHPdig-1.8.8至桌面,解壓縮至Apache服務器html目錄,一般路徑為:D:\usr\www\html\,(如果你沒有安裝Apache服務器請事先安裝,推薦使用Mappm-Server v1.1.9 Final,Mappm-Server 采用傻瓜式安裝,一次搞定,方便調試和運行 PHP/CGI MySQL 程序)。
2.運行並配置PHPdig數據庫
打開浏覽器輸入http://localhost/phpdig/按回車鍵,頁面列出PHPdig的所有文件及包含文件夾,找一找發現沒有默認首頁文件(default,index),單擊search.php文件出現錯誤提示:Unable to connect to database : Check the connection script。提示無法完成數據庫連接,原來我們還沒有完成PHPdig的數據庫配置。返回進入admin目錄找到install.php文件,單擊運行,乍一看,全英文界面(說明一下,PHPdig目前所有版本均不支持中文界面),沒有關系,如果你有過漢化經驗不妨自己動手將其漢化,這裡提供一份我自己漢化的cn-language.php文檔的下載(請將其拷貝至locales目錄下)。另外你還需修改includes目錄下的config.php文件(語言修改)和style.css文件(字體修改和樣式修改)。
進入install.php後系統要求我們輸入PHPdig管理用戶名和密碼,默認情況下均為admin,進入後出現如下界面(漢化後):
(圖1)
所需提供的信息有:
如果你是在本地測試,請輸入默認情況下的服務器名稱localhost(localhost是Mappm-Server下的默認務服務器名稱,也就是mysql的默認服務器名稱,Mappm-Server內置mysql數據庫)數據庫服務器端口默認為3126,可以不填,數據庫sock協議默認為空,用戶名默認為root(Mappm-Server默認用戶名),密碼是你在安裝Mappm-Server時輸入的用戶密碼,PHPdig數據庫名稱默認為phpdig,可任意修改,同時,你可以對數據庫中的數據表加前綴,默認為空。
如果你要上傳到與Internet相連的web服務器請向服務器提供商索要mysql服務器的名稱或者IP地址以及數據庫服務器端口、sock協議、用戶名、密碼等,數據庫名稱以及數據表前綴的設置同上。
至於右邊的四個單選按鈕,你可以視情況而定,初次使用(安裝)選擇默認的“建立數據庫”
確認上述信息無誤後單擊安裝按鈕,如果連接數據庫不成功會提示“不能連接數據庫”的錯誤信息,如果數據庫連接成功則會直接跳入管理頁面如下圖:
(圖2)
3. 界面區域介紹
區域1是一個文本輸入區,默認文字有三行,都是以http開頭,大家一看就知道在這裡輸入要spider的站點的網站地址(建議每次只spider一個網站)。
區域2是spider選項,搜索深度是指對這個網站spider到幾級目錄,每頁鏈接數是指針對某個網頁最多抓取多少個下面的鏈接網頁。默認情況下都為0,指的是對這個站點進行全站spider。
區域3顯示數據庫狀態信息,包括已經spider的網站、關鍵詞、索引以及正在spider的站點信息等。
區域4是一個下拉列表框,羅列出已經spider的站點的網址,選中其中的一個站點,在區域5可以對其進行清除和更新操作。
區域5不僅提供了對區域4中所選站點的清除和更新操作外,還提供了相關的統計信息入口和對spider的控制等。
4. 針對特定站點運行spider
如果你對天極軟件頻道的內容很感興趣,你就可以做一個比google更專業的搜索引擎來搜索天極軟件的內容,你的這個搜索引擎將比google更全面更深層次。下面我們以spider天極軟件頻道的內容為例介紹一下如何spider一個網站。
1)在圖2的區域1中輸入http://soft.yesky.com,搜索深度和每頁鏈接數都保持默認為0
2)單擊spider按鈕,頁面跳轉到spider信息頁面,程序開始自動spider站點http://soft.yesky.com的內容。
注意:spider網站的過程非常緩慢,如果該網站內容太多,這個過程可能會延續幾小時到一天,但你不必擔心腳本運行超時,因為系統的timeout時間被設置為最長達48小時。在這個過程中,你也可以中斷spider程序的運行,並能重新啟動spider程序運行未spider完的網站。需要注意的是若在這個過程中你不小心關閉了spider運行頁面,但事實上系統並沒有停止spider,仍在消耗系統資源。你可以重新打開spider頁面,點擊停止spider鏈接方可釋放系統資源。
(圖3)
5. 利用PHPdig進行搜索
經過一段時間後,spider程序運行的結果是將http://soft.yesky.com網站上的信息抓取到服務器數據庫中,主要是對方內容的title信息、關鍵詞信息和頁面地址信息等,此時,你就可以通過訪問search.php進行搜索了。
(圖4)
你可以選擇搜索結果顯示的條數,可以選擇模糊查找還是精確查找,另外你可以選擇針對某個站點的搜索,默認情況下搜索已經被spider的所有站點。
(圖5)
上圖是搜索“QQ2006”的搜索結果頁面。
6. 存在的問題
由於PHPdig的語言設置問題、系統的分詞問題以及MYSQL數據庫的字符處理問題等,PHPdig對漢語詞匯的搜索還存在許多不確定因素,這些東西都有待我們進一步去解決和完善,歡迎廣大對此感興趣的朋友們到網頁陶吧-PHPdig主題社區進行探討。