搭建基于Nutch1.0的搜索引擎說明文檔
一、簡介
Nutch是一個開源的Web搜索引擎。
主要分為兩個部分:爬蟲crawler和查詢searcher,兩者之間的接口是索引。
二、需要的軟件
-
JDK1.6
-
Tomcat6.0
-
cygwin
-
nutch1.0
三、安裝與配置
1. JDK
-
下載地址:http://www.sun.com
-
安裝目錄:C:\Java\jdk1.6.0_14
-
修改環(huán)境變量:
JAVA_HOME= C:\Java\jdk1.6.0_14
CLASSPATH= C:\Java\jdk1.6.0_14\lib\dt.jar; C:\Java\jdk1.6.0_14\lib\tool.jar
PATH= %JAVA_HOME%\bin
-
測試:
Java -version
2. Tomcat6.0
-
下載地址:
http://tomcat.apache.org/download-60.cgi?Preferred=http%3A%2F%2Fapache.freelamp.com
-
安裝目錄:C:\tomcat6
-
安裝測試:
a) 啟動tomcat:在DOS下,cd C:\tomcat6\bin\startup.bat
b) 瀏覽器地址欄輸入:
出現(xiàn)tomcat主頁則成功
-
更改C:\tomcat6\conf \tomcat-users.xml內(nèi)容
<tomcat-users>
<role rolename="manager"/>
<user username="tomcat" password="tomcat" roles="manager"/>
</tomcat-users>
3. Cygwin
-
下載地址:
http://www.cygwin.cn/
-
使用原因:
-
安裝目錄:C:\cygwin
注意:在選擇下載站點需要輸入如下網(wǎng)址,并在最后選擇本地磁盤安裝:
運行Nutch自帶的腳本命令需要Linux的環(huán)境,使用cygwin來模擬該環(huán)境。cygwin是在windows平臺上運行的unix模擬環(huán)境。
-
測試:
進入cygwin
4. Nutch
-
下載地址:
-
版本:nutch-1.0
-
解壓后到:C:\nutch-1.0
-
設(shè)置Nutch的環(huán)境變量:
NUTCH_JAVA_HOME= C:\Java\jdk1.6.0_14
-
修改環(huán)境變量PATH :
PATH= %JAVA_HOME%\bin; % NUTCH_JAVA_HOME %\bin
-
在C:\nutch-1.0下建立url.txt文件來制定爬去列表
-
測試:
開啟Cygwin
在txt文件中寫入需要爬取的網(wǎng)站地址http://dblp.lab/
cd cygdriver/c/nutch-1.0
bin/nutch
若出現(xiàn)若干命令,則說明Nutch配置成功
四、抓取網(wǎng)頁數(shù)據(jù)
1. 指定爬蟲規(guī)則
- 修改Nutch-1.0/conf/crawl-urlfilter.txt
# accept hosts in MY.DOMAIN.NAME
+^http://dblp.lab/
- 修改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. 執(zhí)行命令
Bin/nutch crawl url.txt -dir crawled -depth 3 - threads 4 >&crawl.log
其中:dir是指定爬取內(nèi)容所存放的目錄,depth表示以要爬取網(wǎng)站頂級網(wǎng)址為起點的爬行深度,threads指定并發(fā)的線程數(shù)
6. 爬取中......(采集網(wǎng)頁并建立索引)
7. 結(jié)束后在Nutch目錄下產(chǎn)生爬取內(nèi)容的文件夾crawled和日志文件夾logs
五、部署Web前端
1. 將nutch-1.0.war拷貝到webapps目錄下
2. 通過瀏覽器訪問如下網(wǎng)址,war包會自解壓
http://localhost:8080/nutch-1.0/
3. 修改nutch的web配置
更改c:\tomcat6\webapps\nutch-1.0\WEB-INF\classes\nutch-site.xml ,將內(nèi)容更改為索引生成的目錄
<?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:\nutch-1.0\crawled</value>
</property>
</nutch-conf>
六、解決中文亂碼問題
修改文件C:\tomcat6\conf\server.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/
(by 王海明)