Nutch在Windows中安裝之細解

   Nutch在Windows中安裝之細解
   
   近來Nutch一詞在網絡中時有所見,但囿於平常工作繁忙而未能潛心細讀與研究,只知道Nutch是Apache組織的一個開源項目,利用它用戶可以建 立自己內部網的搜索引擎,也可以建立針對整個網絡的搜索引擎。好在春節假日期間,終於得空可以從容對其進行一番解讀與測試了。在使用Nutch之前,當然 是需要先對其進行安裝了。用搜索引擎查找了一下相關內容,發現大部分關於Nutch如何安裝的文章都是基於Linux的,而基於Windows安裝的文章 雖有,但非常簡略。由於運行Nutch自帶的腳本命令需要Linux的環境,所以必須首先安裝Cygwin來模擬這種環境,而Cygwin本身的安裝與使 用也不是一件簡單的事。下面,就讓筆者對Nutch在Windows系統中的安裝進行一番細解吧!
   
  1、安裝Cygwin
   
  首先,我們去
http://www.cygwin.com/ 下載到Cygwin軟件的ISO文件,用Daemon軟件將其設爲虛擬光驅後,雙擊其中的Setup文件,出現程序安裝的嚮導界面(如圖1所示)。
     
    
  點擊“下一步”後,安裝嚮導要求選擇Cygwin的安裝方式,如圖2所示:
   
    
  圖示中共有三種安裝方式:
  (1)Install from Internet:從Internet上下載並安裝軟件;
  (2)Download Without Installing:從Internet上下載安裝的文件,但暫時不安裝;
  (3)Install from Local Directory:從本地含有安裝文件的目錄進行安裝。
  我們選擇第三項“Install from Local Directory”後,點擊“下一步”,如圖3所示:
   
    
  安裝嚮導要求選擇Cygwin的安裝路徑,我們可以在“Root Directory”文本框中更改安裝路徑,點擊“下一步”,如圖4所示:
   
            
  安裝嚮導要求選擇Cygwin安裝文件所在的本地存儲路徑,可以在“Local Package Directory”中設置,點擊“下一步”,如圖5所示:
   
    
   安裝嚮導顯示出所要安裝的內容列表,用戶可以根據自己的實際需要來決定安裝哪些程序。點擊循環箭頭圖標後面的文字,可以更改安裝的方式,常用的方式有 Default(表示只安裝缺省的安裝項)、Install(表示安裝全部程序,空間要求較大)、Reinstall(表示重新安裝程序)。推薦選擇 “Install”方式,一步到位,以免後擾,不過用戶應保證至少有2G以上的空間可供使用。點擊“下一步”後,就開始正式的安裝了(如圖6所示)。
   
    
  最後出現如圖7所示的窗口,點擊“完成”後,Cygwin安裝完畢。
   
    
  至此,筆者還要對Cygwin再多說幾句。Cygwin是一個在Windows平臺上模擬運行Unix的環境,用戶可以通過它來熟悉與學習Unix系統的操作。對於Unix系統還不甚熟悉的讀者可以參閱筆者之前寫作的《Unix操作系統的入門與基礎 》、《Unix的輕巧“約取而實得” 》系列文章,下文中對涉及使用到的Unix命令將不再給予詳細解釋。
   
  2、安裝Nutch
   
  去
http://apache.etoak.com/lucene/nutch/ 下載到Nutch的最新版本,將其解壓到指定目錄中,如筆者是將其解壓到F:\nutch-1.0中。
   
  3、測試Nutch命令
   
   在運行Nutch的腳本命令前,需要設置一些環境變量。Cygwin提供了一個名爲cygwin.bat的文件,通過它可以自動完成必需環境變量的設 置。該文件可在cygwin所在的根目錄下找到,感興趣的讀者還可通過UltraEdit等編輯器打開該文件一查究竟。其實Cygwin安裝完成之後,會 在Windows系統桌面生成一圖標,如圖8所示:
   
    
   此圖標就是cygwin根目錄下cygwin.bat文件的快捷方式,雙擊此圖標將打開一類似DOS窗口。由於先前筆者將Nutch的壓縮包解壓至 I:\nutch-0.7.1中,故在此命令窗口中輸入命令“cd /cygdrive/i/nutch-0.7.1”,讀者可根據自己的安裝路徑進行相應的修改,然後使用命令“ls -l”可查看nutch-0.7.1中的所有子目錄及文件信息。執行命令“bin/nutch”,如果讀者能看到如圖9所示的提示,那恭喜你,Nutch 在Windows系統中的安裝已經大功告成了!
   

 

4、抓取網站內容前的準備工作

1)把下載後的nutch-0.7.2.tar.gz解壓縮到你的指定目錄下,我是放在D:\jsp\sousuo\nutch目錄。建立一個文本文件, 內容是你要抓取的網站地址,我的內容是http://www.angao.com,然後保存到nutch的安裝目錄下。文件名取爲urls.txt。
2)打開Nutch安裝目錄下,修改conf子目錄下的crawl-urlfilter.txt文件,在最下面部分改爲
# accept hosts in MY.DOMAIN.NAME
#+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
+^http://www.angao.com/   ##這裏改爲你要抓取的網站地址,其實這裏是設置一個##
##取過濾器,用來設置網站的哪部分內容是你想要抓取的##
# skip everything else
修改好後,保存。
3),在你的nutch安裝目錄下建立一個crawled子目錄,用來存放網站抓取後的內容及索引,目錄名是能任意的。

5、運行Crawl命令抓取網站內容
雙擊桌面cygwin圖標,打開命令窗口。輸入
cd /cygdriver/d/jsp/sousuo/nutch 回車,
此時目錄轉到d:\jsp\sousuo\nutch下,這也是我的nutch安裝目錄,如果你的nutch安裝在其他目錄,則命令cd /cygdriver/d/jsp/sousuo/nutch中的d/jsp/sousuo/nutch部分改爲你的nutch安裝路徑即可。
然後再輸入
bin/nutch crawl urls.txt -dir crawled -depth 3 -threads 4 >& crawl.log
稍等幾分鐘,程式抓取過程結束,在你的crawled子目錄下,將會看到抓取的內容。
下面解釋下該命令:
crawl 命令有幾個參數,他們是:
-dir     指定抓取後內容及索引的存放目錄
-depth   指定網站抓取的層數
-delay    指定連接目標網站延遲時間
-threads 指定程式運行的線程數,以提高抓取速度。
在命令bin/nutch crawl urls.txt ?dir crawled ?depth 3 ?threads 4 >& crawl.log中
urls.txt是開頭建立好的,內容是目錄網址,>&crawl.log是指定記錄文件,在抓取過程中的錯誤及其他內容都會記在此 文件中。bin/nutch crawl部分是運行nutch安裝目錄下的bin子目錄下的nutch腳本 crawl是命令名。


6、使用Tomcat進行搜索測試
把nutch安裝目錄下的nutch-0.7.2.war文件拷到Tomcat的webapps目錄下。當war展開後,改名爲nutch。修改webapps\nutch\WEB-INF\classes目錄下的nutch-site.xml文件,改成如下內容

   
     searcher.dir
     D:\jsp\sousuo\nutch\crawled
   
   
  

在這裏value標籤就是指定你搜索的目錄,這個目錄,也就是開頭你抓取後存放抓取內容及索引的目錄。D:\jsp\sousuo\nutch\crawled部分,你能自由修改。
接下來 修改tomcat\conf下的server.xml文件,將其中的Connector部分改成如下形式即可:
  
這裏添加了URIEncoding="UTF-8" useBodyEncodingForURI="true"語句,目的是爲了解決漢字編碼問題,以免在進行中文搜索時,出現亂碼。
最後能啓動tomcat,在IE地址欄中輸入
http://localhost/nutch
, 即可,出現nutch的搜索界面,你目前馬上就能開始搜索了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章