在windows中如何安装Nutch

来源:互联网 发布:金融专业就业前景知乎 编辑:程序博客网 时间:2024/04/30 08:42
        本来有机会接一个搜索引擎项目的,但最终因价格问题双方谈崩。为此,我感到深深的遗憾,失去了一个极好的实践机会。但我不想因此放弃对搜索引擎的学习和实践,在网上听到很多人推荐Nutch。所以我打算学习一下Nutch,要学习Nutch,还是先从安装和使用Nutch开始吧。以下是我在xp sp2环境下安装Nutch的过程记录。
安装Nutch需要的环境 
jdk1.4.x or jdk1.5
tomcat4.x以上
 cygwin

软件下载地址:

j2SE5.0          http://java.sun.com/javase/downloads/index.html

Tomcat5.5      http://tomcat.apache.org/download-55.cgi

Cygwin           http://www.cygwin.com/

Nutch-0.7.2    http://lucene.apache.org/nutch/

安装步骤:(具体的安装目录可任意)

1、安装JDK,我看到网上nutch支持的是jdk1.4,不过我安装得是,jdk1.5,为了安装tomcat5.5
       我的安装路径:F:/project/java/jdk5
2、安装cygwin,方法网上很多,我推荐安装本地安装版
       我的安装路径: E:/Program Files/cygwin/
3、安装tomcat,nutch的说明支持tomcat 4.3,我安装的是tomcat5.5
       我的安装路径:F:/project/Tomcat 5.5
4、安装nutch-0.7.1.zip
       将下载的压缩包解压缩到:F:/project/nutch-0.7.2/

配置步骤:

1、配置cygwin中的环境
        E:/Program Files/cygwin/etc/profile
        
        PATH="/usr/local/bin:/usr/bin:/bin:$PATH:/cygdrive/f/project/java/jdk5"
        export NUTCH_JAVA_HOME=/cygdrive/f/project/java/jdk5
        export JAVA_HOME=/cygdrive/f/project/java/jdk5

2、配置 nutch
      1) 配置抓取过滤器,确定要抓取的网站地址

         打开 F:/project/nutch-0.7.2/conf/crawl-urlfilter.txt

        # accept hosts in MY.DOMAIN.NAME
        +^http://([a-z0-9]*/.)*gucas.ac.cn/

        将上面的gucas.ac.cn改为你需要搜索的域名
        
       2) 配置抓取的起始网站地址

        在F:/project/nutch-0.7.2中建立目录URLS,目录中建立文件URLS-20060723
       文件内容:
http://www.gucas.ac.cn

        3) 个性化配置

       Nutch中的所有配置文件都放置在总目录下的conf子文件夹中,最基本的配置文件是conf/nutch-default.xml。这个文件中定义了Nutch的所有必要设置以及一些默认值,它是不可以被修改的。如果你想进行个性化设置,你需要在conf/nutch-site.xml进行设置,它会对默认设置进行屏蔽。
         Nutch考虑了其可扩展性,你可以自定义插件plugins来定制自己的服务,一些plugins存放于plugins子文件夹。Nutch的网页解析与索引功能是通过插件形式进行实现的,例如,对HTML文件的解析与索引是通过HTML document parsing plugin, parse-html实现的。所以你完全可以自定义各种解析插件然后对配置文件进行修改,然后你就可以抓取并索引各种类型的文件了。      

3、运行crawl命令抓取网站内容

     Nutch 的爬虫有两种方式

  • 爬行企业内部网(Intranet crawling:针对少数网站进行,用 crawl 命令。
  • 爬行整个互联网:使用低层的 inject, generate, fetchupdatedb 命令,具有更强的可控制性。

            1) 抓取企业内部网(Intranet crawling)
       
       用cygwin进入F:/project/nutch-0.7.2目录,
       ./bin/nutch crawl ./URLS/URLS-20060723 -dir ./crawled/gucas.ac.cn -depth 2 -threads 4 >& crawl.log
       稍等几分钟,程序抓取过程结束,在你的crawled子目录下,将会看到抓取的内容。

       下面解释下该命令:

       crawl        命令有几个参数,它们是:

       -dir           指定抓取后内容及索引的存放目录

       -depth     指定网站抓取的层数

       -delay      指定连接目标网站延迟时间

       -threads   指定程序运行的线程数,以提高抓取速度。

    在命令 ./bin/nutch crawl ./URLS/URLS-20060723 -dir ./crawled/gucas.ac.cn -depth 2 -threads 4 >& crawl.log./URLS/URLS-20060723 是开头建立好的,内容是目录网址,>&crawl.log是指定记录文件,在抓取过程中的错误及其它内容都会记在此文件中。bin/nutch crawl部分是运行nutch安装目录下的bin子目录下的nutch脚本。


4、配置tomcat

       将F:/project/Tomcat 5.5/webapps/ROOT目录下文件全部删除
       将F:/project/nutch-0.7.2/中nutch-0.7.2.war解压缩到ROOT目录中
       (可以直接使用winrar解压缩,或者用命令jar xvf nutch-0.7.1.war)

       配置文件:F:/project/Tomcat 5.5/webapps/ROOT/WEB-INF/classes/nutch-site.xml
<nutch-conf>
    <property>
        <name>searcher.dir</name>
        <value>F:/project/nutch-0.7.2/crawled/gucas.ac.cn</value>
    </property>
</nutch-conf>

在这里value标签就是指定你搜索的目录,这个目录,也就是开头你抓取后存放抓取内容及索引的目录。<value>F:/project/nutch-0.7.2/crawled/gucas.ac.cn</value>部分,你可以自由修改。

接下来修改tomcat/conf下的server.xml文件,将其中的Connector部分改成如下形式即可:
  <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true"
               URIEncoding="UTF-8" useBodyEncodingForURI="true" />

这里添加了URIEncoding="UTF-8" useBodyEncodingForURI="true"语句,目的是为了解决汉字编码问题,以免在进行中文搜索时,出现乱码。
       重启tomcat服务器,IE中输入http://localhost:8080
       

参考文章:

一只感冒的老猫   http://blog.csdn.net/ganmao/archive/2006/02/21/604756.aspx

架设自己的搜索引擎,Nutch安装手记之二

http://www.hujys.net/blog/hzjs/ajzhn/archives/2006/238.html

 

原创粉丝点击