自己动手搭建搜索引擎

Nutch1.0配置笔记

一、简介

  Nutch是一个开源的Web搜索引擎。

主要分为两个部分:爬虫crawler和查询searcher,两者之间的接口是索引。

二、需要的软件

JDK1.6

Tomcat6.0

cygwin

nutch1.0

三、安装与配置

1. JDK

下载地址:http://www.sun.com

安装目录:C:Javajdk1.6.0_14

修改环境变量:

JAVA_HOME= C:Javajdk1.6.0_14

CLASSPATH= C:Javajdk1.6.0_14libdt.jar; C:Javajdk1.6.0_14lib ool.jar

PATH= %JAVA_HOME%in

测试:

Java -version

2. Tomcat6.0

下载地址:

http://tomcat.apache.org/download-60.cgi?Preferred=http%3A%2F%2Fapache.freelamp.com

安装目录:C: omcat6

安装测试:

a) 启动tomcat:在DOS下,cd C: omcat6instartup.bat

b) 浏览器地址栏输入:

http://localhost:8080/

出现tomcat主页则成功

更改C: omcat6conf omcat-users.xml内容

<tomcat-users>

  <role rolename="manager"/>

  <user username="tomcat" password="tomcat" roles="manager"/>

</tomcat-users>

3. Cygwin

下载地址:

http://www.cygwin.cn/

使用原因:

运行Nutch自带的脚本命令需要Linux的环境,使用cygwin来模拟该环境。cygwin是在windows平台上运行的unix模拟环境。

安装目录:C:cygwin

注意:在选择下载站点需要输入如下网址,并在最后选择本地磁盘安装:

http://www.cygwin.cn/pub/

测试:

进入cygwin

4. Nutch

下载地址:

http://www.apache.org/dyn/closer.cgi/lucene/nutch/

版本:nutch-1.0

解压后到:C: utch-1.0

设置Nutch的环境变量:

NUTCH_JAVA_HOME= C:Javajdk1.6.0_14

修改环境变量PATH :

PATH=%JAVA_HOME%in; %NUTCH_JAVA_HOME%

在C: utch-1.0下建立url.txt文件来制定爬去列表

在txt文件中写入需要爬取的网站地址http://dblp.lab/

测试:

开启Cygwin

cd cygdriver/c/nutch-1.0

bin/nutch

若出现若干命令,则说明Nutch配置成功

四、抓取网页数据

1. 指定爬虫规则

修改Nutch-1.0/conf/crawl-urlfilter.txt

# accept hosts in MY.DOMAIN.NAME

+^http://dblp.lab/

改成

+^http://litclive.blog.51cto.com/

修改Nutch-1.0/conf/nutch-site.xml

<configuration>

  <property>

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

  <value>my nutch agent</value>

  </property>

  <property>

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

  <value>1.0</value>

  </property>

</configuration>

2. 开始爬取

3. 打开Cygwin

4. 在命令行输入

cd /cygdrive/c/nutch-1.0

5. 执行命令

bin/nutch crawl url.txt -dir crawled -depth 3 - threads 4 >&crawl.log

   其中:dir是指定爬取内容所存放的目录,depth表示以要爬取网站顶级网址为起点的爬行深度,threads指定并发的线程数

6. 爬取中......(采集网页并建立索引)

7. 结束后在Nutch目录下产生爬取内容的文件夹crawled和日志文件夹logs

五、部署Web前端

1. 将nutch-1.0.war拷贝到webapps目录下

2. 通过浏览器访问如下网址,war包会自解压

http://localhost:8080/nutch-1.0/

3. 修改nutch的web配置

更改c: omcat6webapps utch-1.0WEB-INFclasses utch-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>C: utch-1.0crawled</value>

</property>

</nutch-conf>

六、解决中文乱码问题

修改文件C: omcat6confserver.xml

<Connector port="8080" maxThreads="150" minSpareThreads="25"

maxSpareThreads="75" enableLookups="false" redirectPort="8443"

acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true"

URIEncoding="UTF-8" useBodyEncodingForURI="true" protocol="HTTP/1.1" />

七、搭建完成

1. 启动Tomcat

2. 通过浏览器访问

http://localhost:8080/nutch-1.0/