|
在RH9+J2EE5.0+TOMCAT5.0.28,使用Nutch-0.6完成了企業(yè)內(nèi)部網(wǎng)簡單測試,并記錄遇到的問題和解決方法
今天的天氣真是熱死了!沒辦法,呆在家里吧,有空調(diào)涼快些。于是想到了研究Nutch 這是一個(gè)開源的搜索引擎,現(xiàn)在已經(jīng)列入Apache的Lucene的子項(xiàng)目了。最新版本是0.6(2005年1月)。以前我安裝過,沒有成功。這次終于成功了,做了簡單測試
參考文章來源: Nutch文檔 作者Fenng: http://www./archives/2005/01/nutch_aee.html Apache Nutch Wiki: http://wiki./nutch/GettingNutchRunningWithResin
一 系統(tǒng)要求 下面是Nutch文檔的說明 1.Java 1.4.x, either from Sun or IBM on Linux is preferred. Set NUTCH_JAVA_HOME to the root of your JVM installation. 2.Apache‘s Tomcat 4.x. 3.On Win32, cygwin, for shell support. (If you plan to use CVS on Win32, be sure to select the cvs and openssh packages when you install, in the "Devel" and "Net" categories, respectively.) 4.Up to a gigabyte of free disk space, a high-speed connection, and an hour or so. 關(guān)于第一項(xiàng),我也不清楚是說JAVA的J2SE版本還是J2EE版本。上一次我用J2SE的時(shí)候就沒有成功。但這并不能確定一定和JAVA版本有關(guān)。這里我使用的是J2EE5.0(前幾天研究什么東西剛下的,順便拿來用,呵呵)JAVA在LINUX的安裝可以參考我以前的BLOG。然后就是設(shè)定系統(tǒng)環(huán)境變量NUTCH_JAVA_HOME了。 #vi /etc/profile
加入下面內(nèi)容: NUTCH_JAVA_HOME="/usr/local/j2ee1.5/jdk" EXPORT最后加入 NUTCH_JAVA_HOME
第二項(xiàng)安裝TOMCAT很簡單,下載binary包解壓即可。我用的是tomcat5.0.28 第三項(xiàng)我們用的是Linux不用管Windows的設(shè)置 第四項(xiàng)預(yù)留足夠的硬盤空間(G字節(jié)級別)。我只搜我的小站,估計(jì)也占用不了多少空間^_^
二 安裝使用Nutch 1.安裝 下載Nutch-0.6.tar.gz #tar zxvf Nutch-0.6.tar.gz #mv Nutch-0.6 /usr/local/nutch 測試Nutch #/usr/local/nutch/bin/nutch 出現(xiàn)幾行提示信息,說明安裝成功
2.抓取頁面 我只做了內(nèi)部網(wǎng)(Intranet)的測試 在 nutch 目錄中創(chuàng)建一個(gè)包含該網(wǎng)站頂級網(wǎng)址的文件 urls ,包含如下內(nèi)容: http://10.40.x.x/(我的主機(jī)的內(nèi)網(wǎng)網(wǎng)址,這里用我以前架的LAMP測試)
#cd /usr/local/nutch #touch urls #vi urls 加入 http://10.40.x.x/ 保存退出
然后編輯conf/crawl-urlfilter.txt 文件,設(shè)定過濾信息 +^http://10.40.x.x/ 保存退出以后開始抓取了!
#bin/nutch crawl urls -dir lystudio.test -depth 2 -threads 4 >& crawl.log
depth 參數(shù)指爬行的深度,這里處于測試的目的,選擇深度為 2 ; threads 參數(shù)指定并發(fā)的進(jìn)程 這是設(shè)定為 4 只過了2分鐘,爬完了(站太小了……)
之后配置 Tomcat (我的 tomcat 安裝在 /usr/local/tomcat5) ,
# rm -rf /usr/local/tomcat5/webapps/ROOT* # cp nutch-0.6.war /usr/local/tomcat5/webapps/ROOT.war # cd /usr/local/tomcat5/webapps/ # jar xvf ROOT.war # ../bin/catalina.sh start 瀏覽器中輸入 http://localhost:8080 查看結(jié)果(遠(yuǎn)程查看需要將 localhost 換成相應(yīng)的IP):
出現(xiàn)了頁面!不過測試發(fā)現(xiàn)不能正常搜索頁面,并出現(xiàn)以下錯誤:
500 Servlet Exception java.lang.NullPointerException at net.nutch.searcher.NutchBean.init(NutchBean.java:82) .....
去Nutch Wiki找資料,據(jù)說是segment文件夾位置的問題。默認(rèn)的是./segment所以我們應(yīng)該修改為實(shí)際的地址。我的是 /usr/local/nutch/lystudio.test/segment 解決方法是這樣描述的: 找到tomcat的ROOT目錄下的一個(gè)文件:nutch-site.xml
#vi /usr/local/tomcat5/webapps/ROOT/WEB-INF/classes/nutch-site.xml
修改成下面樣式:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="nutch-conf.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<nutch-conf> <property> <name>searcher.dir</name> <value>/usr/local/nutch/lystudio.test</value> <description>My path to nutch‘s searcher dir.</description> </property> </nutch-conf>
然后重啟TOMCAT,終于可以搜索了:
至此我的測試已經(jīng)完成。關(guān)于中文搜索,以后有時(shí)間再做(可以發(fā)現(xiàn),上面頁面的中文在Firefox1.0.5下有問題,調(diào)整頁面編碼也沒有起作用,應(yīng)該是Nutch配置中修改吧)。 說明:本人對搜索引擎沒有任何研究,這里只是體驗(yàn)一次搜索的樂趣而已^_^ |