Nutch安装配置详细指南(Windows环境)

一、搜索引擎的原理简介

 

1.一个抓网络页面程序

 

  把www中的各网站的内容抓到本地

 

2.一个文件解析工具

 

  把抓下来的html、doc等源文件处理为更精确的格式文本

 

3.一个全文检索、分词、数据挖掘,解析文本,把数据抓到结构化数据库中

 

  可以采取工具软件,未必要自己写。数据库可以是文件数据库。

 

4.开发一个搜索页面,从数据库里查询关键字

 

  对查询关键字,进行一些逻辑处理。然后返回名称和url到页面。

 

 

二、Lucene和Nutch简介

 

Java开源社区,lucene是一个成熟完整的搜索包。http://lucene.apache.org/

 

而nutch是基于lucene的一个完整的搜索引擎,包括了上述4个方面。即适合入门,也适合在这个上面做二次开发。http://lucene.apache.org/nutch/

 

 

三、下载

 

http://lucene.apache.org/nutch/release/上下载nutch的1.0版本

 

下载cygwin,一个在windows下模拟Linux的嵌入式系统,http://www.cygwin.com/

 

Luke,读取索引文件的工具,http://www.getopt.org/luke/

 

JDK,1.5.X以上

 

Tomcat

 

 

四、安装

 

根据http://lucene.apache.org/nutch/tutorial8.html 这个来安装。步骤比较简单。

安装完后需要设置一下几个环境变量:

JAVA_HOME,设置成你安装的Jdk的路径,比如D:/soft/jdk6

NUTCH_JAVA_HOME,设置成和JAVA_HOME一样

TOMCAT_HOME,设置Tomcat的安装目录,比如D:/Soft/Tomcat60

把这些添加到Path中,%JAVA_HOME%/bin;TOMCAT_HOME%/bin/

CLASSPATH,添加 .;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar

 

参考Intranet Crawling部分。只是有几个需要注意:

 

1.       建立urls文件

 

在nutch目录下,建立urls目录,在urls目录下,建立nutch初始爬取文件,格式为txt,文件名任意,里面设置搜索的站点起始位,如加入:

http://lucene.apache.org/nutch/

 

2.       修改nutch下的conf/crawl-urlfilter.txt文件,将# accept hosts in MY.DOMAIN.NAME这行下的

MY.DOMAIN.NAME修改成你想抓取的域名,比如修改成下面这样的:

+^http://([a-z0-9]*/.)*apache.org/,表示要抓取apache的网页

 

3.       conf/nutch-site.xml文件的http.agent.name,一定要定义值

 

<property>

  <name>http.agent.name</name>

  <value></value>///这里一定要定义

</property >

 

如果报NullPointerException,nutch-default.xml里面的http.agent.name也要定义。

nutch-site.xml里,还要定义搜索目录,即抓下来的程序放置的地方。

    <property>

          <name>searcher.dir</name>

          <value>D:/website</value>

    </property>

 

4.       运行命令

 

在cygwin里运行,或者把cygwin/bin目录加到path里,直接在command窗口运行运行命令,要通过bash跑,比如tutorial8.html的命令是

bin/nutch crawl urls -dir crawl -depth 3 -topN 50

在windows下,要这么跑

   bash bin/nutch crawl urls -dir crawl -depth 3 -topN 50

 

5.配置Tomcat

 

  把nutch-1.0.war复制到Tomcat下的webapps里,启动Tomcat,会自动deploy。

  再关闭Tomcat,到webapps/nutch-1.0目录下的WEB-INF/classes里的nutch-site.xml里,增加搜索的目录

    <property>

          <name>searcher.dir</name>

          <value>D:/website</value>

    </property>

 

  为了支持中文,在tomcat/conf的server.xml里的<Connector port="8080" protocol="HTTP/1.1" 里面,增加URIEncoding="UTF-8" useBodyEncodingForURI="true"配置,

最后如:

    <Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443"

                        URIEncoding="UTF-8" useBodyEncodingForURI="true"/>

 

重启Tomcat,可以通过http://localhost:8080/nutch-1.0访问到Nutch了。

 

6. Luke

 

  用JRE打开lukeall-0.7.1.jar,选择下载的目录的index,如D:/website/index,打开就可以图形化查看索引数据库,如关键字,还可以查询。

  具体参考Luke的图示

 

你可能感兴趣的:(java,tomcat,windows,数据库,Lucene,全文检索)