原文 http://blog.sina.com.cn/u/5595d514010008io
nutch是一个非常不错的项目,由于最近我需要对一些内部的文档和站点建一个search的站点,所以又开始了nutch的旅程。不过这次是坎坎坷坷, 尽把问题出在了小地方了。当然,也有很久没有再用过nutch了,之前哪次还是一年前的事了。现在的0.8.1变化也是很大。本文所讲述的版本都是基于 0.8.1来讲的。与0.8相比了一下,从抓取和log以及安装nutch还是比较简单的,从apache的网站上去下哪个66M之大的包包:
http://lucene.apache.org/nutch/release/
另外,你还可以使用Luke来验证你的index,并通过它来进行深入的查询:
http://www.getopt.org/luke/
我还特别的安装一个tomcat来让大家上nutch来“google一把”的感觉,这样你也需要下一个tomcat(其实只要是一个servlet容器就好):
http://tomcat.apache.org/download-55.cgi
简单的说明一下各文件:
apache-tomcat-5.5.20.tar.gz
nutch-0.8.1.tar.gz
lukeall-0.7.jar
另外,我的操作系统是Mac OSX 10.4.8,JDK版本为1.5.0_07。
我把tomcat和nutch解到了~/japp目录中:
/Users/HD/japp/apache-tomcat-5.5.20
/Users/HD/japp/nutch-0.8.1
首先需要简单的设置一些环境变量,我在home的.profile中加入了以下设置:
export JAVA_HOME=/usr
export NUTCH_HOME=/Users/HD/japp/nutch-0.8.1
好了,开始我们的正式工作罢。
首先,把我们要抓取的网站的起始地址加入到nutch中去:
cd $NUTCH_HOME
mkdir urls
echo 'http://lucene.apache.org/nutch/' > urls/nutch
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*apache.org/
+^http://([a-z0-9]*\.)*woodpecker.org.cn/
<!---->
<configuration>
<property>
<name>http.agent.name</name>
<value>HD nutch agent</value>
</property>
</configuration>
cd $NUTCH_HOME
bin/nutch crawl urls -dir crawl -depth 5 -topN 50
cd ~/japp/apache-tomcat-5.5.20/webapps
rm -rf *
mkdri ROOT
cd ROOT
cp $NUTCH_HOME/nutch-0.8.1.war .
jar xvf nutch-0.8.1.war
rm nutch-0.8.1.war
<connector port="8080" maxhttpheadersize="8192">
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
URIEncoding="UTF-8" />
</connector>
cd $NUTCH_HOME
~/japp/apache-tomcat-5.5.20/bin/startup.sh