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所示)。
[img]http://dl.iteye.com/upload/attachment/148805/e4f6916d-9c82-3dbd-9e73-0d0655ae336c.jpg[/img]
点击“下一步”后,安装向导要求选择Cygwin的安装方式,如图2所示:
[img]http://dl.iteye.com/upload/attachment/148807/ee24c25b-7cb4-306b-8f3f-afa43554edf6.jpg[/img]
图示中共有三种安装方式:
(1)Install from Internet:从Internet上下载并安装软件;
(2)Download Without Installing:从Internet上下载安装的文件,但暂时不安装;
(3)Install from Local Directory:从本地含有安装文件的目录进行安装。
我们选择第三项“Install from Local Directory”后,点击“下一步”,如图3所示:
[img]http://dl.iteye.com/upload/attachment/148809/96c36361-d5e5-3820-af72-e52bf87c8561.jpg[/img]
安装向导要求选择Cygwin的安装路径,我们可以在“Root Directory”文本框中更改安装路径,点击“下一步”,如图4所示:
[img]http://dl.iteye.com/upload/attachment/148811/6c54ecad-a8a0-3a6d-8132-0f4bb5d77276.jpg[/img]
安装向导要求选择Cygwin安装文件所在的本地存储路径,可以在“Local Package Directory”中设置,点击“下一步”,如图5所示:
[img]http://dl.iteye.com/upload/attachment/148813/c8625a12-f0f0-3d64-8da8-19c4e60a35f7.jpg[/img]
安装向导显示出所要安装的内容列表,用户可以根据自己的实际需要来决定安装哪些程序。点击循环箭头图标后面的文字,可以更改安装的方式,常用的方式有 Default(表示只安装缺省的安装项)、Install(表示安装全部程序,空间要求较大)、Reinstall(表示重新安装程序)。推荐选择 “Install”方式,一步到位,以免后扰,不过用户应保证至少有2G以上的空间可供使用。点击“下一步”后,就开始正式的安装了(如图6所示)。
[img]http://dl.iteye.com/upload/attachment/148817/cf48d441-25cc-34ed-9164-78b829a222ed.jpg[/img]
最后出现如图7所示的窗口,点击“完成”后,Cygwin安装完毕。
[img]http://dl.iteye.com/upload/attachment/148819/933c2d11-73e1-3b59-a50c-a1b73d54cfc3.jpg[/img]
至此,笔者还要对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所示:
[img]http://dl.iteye.com/upload/attachment/148821/e184964d-869f-3f3d-8f0d-166122284320.jpg[/img]
此图标就是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系统中的安装已经大功告成了!
[img]http://dl.iteye.com/upload/attachment/148823/40a3c3f3-3855-3fa3-96e4-228e63986e99.jpg[/img]
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的搜索界面,你目前马上就能开始搜索了
近来Nutch一词在网络中时有所见,但囿于平常工作繁忙而未能潜心细读与研究,只知道Nutch是Apache组织的一个开源项目,利用它用户可以建立自己内部网的搜索引擎,也可以建立针对整个网络的搜索引擎。好在春节假日期间,终于得空可以从容对其进行一番解读与测试了。在使用Nutch之前,当然是需要先对其进行安装了。用搜索引擎查找了一下相关内容,发现大部分关于Nutch如何安装的文章都是基于Linux的,而基于Windows安装的文章虽有,但非常简略。由于运行Nutch自带的脚本命令需要Linux的环境,所以必须首先安装Cygwin来模拟这种环境,而Cygwin本身的安装与使用也不是一件简单的事。下面,就让笔者对Nutch在Windows系统中的安装进行一番细解吧!
1、安装Cygwin
首先,我们去 http://www.cygwin.com/ 下载到Cygwin软件的ISO文件,用Daemon软件将其设为虚拟光驱后,双击其中的Setup文件,出现程序安装的向导界面(如图1所示)。
[img]http://dl.iteye.com/upload/attachment/148805/e4f6916d-9c82-3dbd-9e73-0d0655ae336c.jpg[/img]
点击“下一步”后,安装向导要求选择Cygwin的安装方式,如图2所示:
[img]http://dl.iteye.com/upload/attachment/148807/ee24c25b-7cb4-306b-8f3f-afa43554edf6.jpg[/img]
图示中共有三种安装方式:
(1)Install from Internet:从Internet上下载并安装软件;
(2)Download Without Installing:从Internet上下载安装的文件,但暂时不安装;
(3)Install from Local Directory:从本地含有安装文件的目录进行安装。
我们选择第三项“Install from Local Directory”后,点击“下一步”,如图3所示:
[img]http://dl.iteye.com/upload/attachment/148809/96c36361-d5e5-3820-af72-e52bf87c8561.jpg[/img]
安装向导要求选择Cygwin的安装路径,我们可以在“Root Directory”文本框中更改安装路径,点击“下一步”,如图4所示:
[img]http://dl.iteye.com/upload/attachment/148811/6c54ecad-a8a0-3a6d-8132-0f4bb5d77276.jpg[/img]
安装向导要求选择Cygwin安装文件所在的本地存储路径,可以在“Local Package Directory”中设置,点击“下一步”,如图5所示:
[img]http://dl.iteye.com/upload/attachment/148813/c8625a12-f0f0-3d64-8da8-19c4e60a35f7.jpg[/img]
安装向导显示出所要安装的内容列表,用户可以根据自己的实际需要来决定安装哪些程序。点击循环箭头图标后面的文字,可以更改安装的方式,常用的方式有 Default(表示只安装缺省的安装项)、Install(表示安装全部程序,空间要求较大)、Reinstall(表示重新安装程序)。推荐选择 “Install”方式,一步到位,以免后扰,不过用户应保证至少有2G以上的空间可供使用。点击“下一步”后,就开始正式的安装了(如图6所示)。
[img]http://dl.iteye.com/upload/attachment/148817/cf48d441-25cc-34ed-9164-78b829a222ed.jpg[/img]
最后出现如图7所示的窗口,点击“完成”后,Cygwin安装完毕。
[img]http://dl.iteye.com/upload/attachment/148819/933c2d11-73e1-3b59-a50c-a1b73d54cfc3.jpg[/img]
至此,笔者还要对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所示:
[img]http://dl.iteye.com/upload/attachment/148821/e184964d-869f-3f3d-8f0d-166122284320.jpg[/img]
此图标就是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系统中的安装已经大功告成了!
[img]http://dl.iteye.com/upload/attachment/148823/40a3c3f3-3855-3fa3-96e4-228e63986e99.jpg[/img]
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的搜索界面,你目前马上就能开始搜索了