近来公司要求研究一下站内搜索引擎,我重点研究了nutch的使用:
1.先去 http://www.cygwin.com/ 下载个setup.exe,然后把cygwin安装好。
2.再去 http://lucene.apache.org/nutch/ 下载nutch,我下载了 0.7.2 版本 和 0.8.1 版本。
3.把下载到的nutch解压缩到硬盘,这里假设为 %NUTCH_HOME% 目录,在%NUTCH_HOME% 目录下新建一个 urls 文件,
里面写下要搜索的网址,譬如:http://www.hkex.com.hk/ 。
4.配置%NUTCH_HOME%\conf\crawl-urlfilter.txt 文件,在
# accept hosts in MY.DOMAIN.NAME
# +^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
下加上url过滤规则,譬如:+^http://([a-z0-9]*\.)*hkex.com.hk/ 。
5.在环境变量中加入 NUTCH_JAVA_HOME = D:\jdk1.5.0_06 (指向JDK目录)。
6.运行cygwin,进去%NUTCH_HOME%,运行以下命令:
bin/nutch crawl urls -dir hkex -depth 8 >& hkex.log
-dir hkex 表示crawl到的数据的存放目录, -depth 8表示crawl到url地址的层数(这里是8层),hkex.log是生成的日志。
7.修改tomcat的conf目录下的server.xml,改为
- <Connector port="8080" maxHttpHeaderSize="8192"
- maxThreads="1000" minSpareThreads="25" maxSpareThreads="75"
- enableLookups="false" redirectPort="8443" acceptCount="100"
- connectionTimeout="20000" disableUploadTimeout="true"
- URIEncoding="UTF-8" useBodyEncodingForURI="true"/>
8.把%NUTCH_HOME%下的 nutch-0.7.2..war 改名为 ROOT.war 复制到Tomcat的webapps目录下(备份Tomcat原来的
ROOT文件夹),启动Tomcat,修改ROOT\WEB-INF\classes下的nutch-site.xml,改为
- <nutch-conf>
- <property>
- <name>searcher.dirname>
- <value>C:\nutch-0.7.2\hkexvalue>
- property>
- nutch-conf>
9.重启Tomcat,在 http://localhost:8080 里就可以试试搜索了。