nutch搜索引擎的部署和配置问题;

huguyue6670 2008-05-01 10:23:53
我要在windows下部署nutch的全文检索系统,看看他的分布式是怎么实现的?有那位给点建议!
...全文
366 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
h576497619m 2009-06-23
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jason_kou 的回复:]
建议看英文原版的配置资料,中文的都是大家抄来抄去,错误颇多,
http://today.java.net/pub/a/today/2006/02/16/introduction-to-nutch-2.html
[/Quote]

要是看得懂的话..
aaronnod 2009-03-26
  • 打赏
  • 举报
回复
非常感谢,认真学习哈~~
jason_kou 2008-05-10
  • 打赏
  • 举报
回复
建议看英文原版的配置资料,中文的都是大家抄来抄去,错误颇多,
http://today.java.net/pub/a/today/2006/02/16/introduction-to-nutch-2.html
美丽海洋 2008-05-09
  • 打赏
  • 举报
回复
haoya
hnjd314053754 2008-05-01
  • 打赏
  • 举报
回复
一楼真强,顺便学习一下。
美丽海洋 2008-05-01
  • 打赏
  • 举报
回复
配置环境:Debian 4 (kernel 2.4)

配置软件:
1, Java jdk-1.5
1,1 下载安装
apt-get install sun-java5-jdk

1,2 修改环境变量
vi /etc/profile
在末尾加上


QUOTE:
JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.10
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export PATH
export JAVA_HOME
export CLASSPATH

1,3 测试
java -version

2, tomcat-5.5
2,1 下载
from: http://tomcat.apache.org/
wget http://mirror.olnevhost.net/pub/ ... omcat-5.5.23.tar.gz

2,2 在/opt目录下解压(顺便哪都行,放到/opt下比较整齐)
安装目录:/opt/tomcat5.5

2,3 修改配置
vi conf/server.xml


QUOTE:
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
c disableUploadTimeout="true"
URIEncoding="UTF-8" useBodyEncodingForURI="true" />

默认服务端口为8080,若有冲突(如Apache),则可通过此配置文件更改端口(蓝色)
如果配置后nutch出现中文乱码问题,则增加编码配置(红色)

2,4 启动服务
/opt/tomcat5.5/bin/startup.sh

2,5 题外话
Debian下可通过 apt-get install tomcat5.5 来安装,
默认安装后路径为 /usr/share/tomcat5.5
并且增加到服务 /etc/init.d/tomcat5.5
注意,此时webapps目录并不在安装路径,而在/var/lib/tomcat5.5/webapps/
初始时该目录并无内容,所以访问时会出现 http 400 错误的请求,只需在该路径放置web应用就可。
(在使用这种方式安装tomcat后,nutch老是没法运行,改成上面的安装就可以,不知是什么问题)

3, nutch-0.9
3,1 下载 http://lucene.apache.org/nutch/

3,2 解压后,建立目录,建 urls/nutch.txt文件,指定爬取列表
mkdir urls
vi urls/nutch.txt
写入要爬取的网站,这里实验南开bbs


QUOTE:
http://bbs.nankai.edu.cn

3,3 指定爬虫规则
vi conf/crawl-urlfilter.txt


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

把这里改成你要的域名
如 +^http://bbs.nankai.edu.cn/

如果爬取网站的url含有以下过滤字符,如 ? 和 = ,而你又需要这些访问,可以更改过滤表


QUOTE:
# skip URLs containing certain characters as probable queries, etc.
-[?*!@=]

改为
-[*!@]

3,4 修改 conf/nutch-site.xml


QUOTE:
<configuration>
<property>
<name>http.agent.name</name>
<value>HD nutch agent</value>
</property>
<property>
<name>http.agent.version</name>
<value>1.0</value>
</property>
</configuration>

如果没有配置此agent,爬取时会出现 Agent name not configured! 的错误。

3.5 开始爬取
可以指定不同的抓去深度,线程数,
bin/nutch crawl urls -dir NKBBS -depth 50 -threads 5 -topN 1000
爬取索引完成后,结果生成在设定的目录中,这里是NKBBS

3,6 部署web前端
将 nutch-0.9.war 拷贝到webapps目录下
cp nutch-0.9.war /opt/tomcat5.5/webapps/
通过浏览器访问 http://localhost:8080/nutch-0.9/ 后,war包自解压。

3,7 修改nutch的web配置
vi /opt/tomcat5.5/webapps/nutch-0.9/WEB-INF/classes/nutch-site.xml
将内容更改为索引生成的目录。


QUOTE:
<nutch-conf>
<property>
<name>searcher.dir</name>
<value>/home/northtree/SearchEngine/nutch-0.9/NKBBS/</value>
</property>
</nutch-conf>
美丽海洋 2008-05-01
  • 打赏
  • 举报
回复
(2)开始抓取啦
执行以下命令:
$cd E:\nutch-0.9
$bin/nutch crawl url.txt -dir crawled -depth 3 -threads 4 >&crawl.log

解释如下:bin/nutch表示开始抓取,crawl是抓取命令,url.txt也就是我们前面新建的用于保存顶级网址的文本文件,-dir crawled表示新建路径crawled,-depth 3抓取深度为3,-threads 4线程为4,并将抓取结果写(>&)到crawl.log中.
这里的命令实在记不住呢,没关系,到E:\nutch-0.9\src\java\org\apache\nutch\crawl 下面找crwal.java文件,看一下就行了,usage:Crawl <urlDir> [-dir d] [-threads n] [-depth i] [-topN N].
抓取结果可以到crawl.log下面看,统计抓取网页个数的命令是
$cd E:\nutch-0.9
$bin/nutch readdb crawled/crawldb -stats
当看到db-featched个数非零时候,表面抓取成功啦.到现在为止windows上面的部署就完成了,下面就是到tomcat下面去做搜索测试吧.
(3)Tomcat搜索测试(针对Tomcat做的更改)
1)将e:\tomcat 6.0\webapps下的ROOT文件夹名改成ROOT1;
  2)将e:\nutch-0.9目录的nutch-0.9.war复制到e:\tomcat 6.0\webapps下,并将其改名为ROOT.war,使用命令
$jar -xvf ROOT.war
将其解压为ROOT文件夹.
  3)打开ROOT\WEB-INF\classes下的nutch-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>e:/nutch-0.9/crawled</value>
   </property>
  </nutch-conf>

其中的“<value>e:/nutch-0.9/crawled</value>”部分,读者应根据自己的设置进行相应修改。

4)最后打开tomcat(在bin下面有tomcat6.exe文件双击即可,注意一定能够要打开,否则是看不到结果的),然后在浏览器中输入 http://localhost:8080/

即可进行搜索了.如果出现中文乱码的情况,解决方法如下:

修改e:\tomcat 6.0\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" />

美丽海洋 2008-05-01
  • 打赏
  • 举报
回复
nutch爬虫在windows下的运行:
网上已经有很多参考的资料了,但是我想这个布局更加简单明了,通过这个布局已经一次性地顺利运行成功。

1。安装cygwin。
我先到网上下载了cygwin,在安装的时候遇到了些问题。ls命令不支持,
系统提示缺少dll文件。“我的电脑”鼠标右键配制环境变量,将C:cygwinbin
目录加入path环境变量,将cygwin运行需要的dll文件注册到系统。然后启动
cygwin,ok!
还要配置以下环境变量:NUTCH_JAVA_HOME=C:/java/jdk1.5.7
2。测试nutch。
网上说得已经很明白了,呵呵。cygwin下 “cd /cygdrive/d/backup/nutch-0.7/bin”
在bin目录下运行nutch命令 “sh nutch”。正常的话 将打印一大坨命令说明;不正常
情况目前还没遇到,就不知道了哈;
3。运行爬虫:
网上说在nutch的根目录下建立urls文件,nutch0.7.1似乎不行,也许是有别的配制,
我将urls文件放在nutch的bin目录下(此文件不要后缀)。爬虫程序才可以发现urls文件。这个文件名
也是可以随便修改的。只要在运行爬虫的命令中指明正确的文件名就可以。在urls中
添加 http://www.nutchchina.com 作为爬行的根目录;
nutch/conf/crawl-urlfilter.txt中设置爬行规则
+^http://([a-z0-9]*.)*nutchchina.com/
配制完这些后,cygwin中cd到nutch的bin目录,运行以下命令
sh nutch crawl urls -dir crawl.nutchchina.com -depth 3 -threads 4
urls 就是存放爬行根目录的文件;
crawl.nutchchina.com是我们指定的索引文件存放目录,爬虫在执行的时候,一些临时文件存放在这个目录;
-depth 3 指定爬行深度;
-threads 4 指定启动4个线程进行爬行;
等待。。。。一堆打印信息;因为www.nutchchina.com信息不多,所以很快就over了。一分钟不到;
这个时候索引已经建立了。
4。配制tomcat进行查询
昨天wjjj网友说tomcat运行不了nutch。我不知道他具体的原因,下面是我的配置过程,一次就通过了;
将nutch目录下的nutch-0.7.war拷贝到tomcat的webapps目录下,解压缩。将原来tomcat的ROOT目录改名,
比如ROOT.bak。然后将nutch-0.7目录改为ROOT。然后到D:Tomcat4webappsROOTWEB-INFclasses目录下
修改nutch-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>D:backupnutch-0.7bincrawl.nutchchina.com</value>
</property>
</nutch-conf>
指定索引目录为刚才爬虫建立的索引路径 crawl.nutchchina.com.
启动tomcat。访问 http://localhost:8080
应该看到查询页面了。
我感觉查询结果不是很满意,也许是因为网站基本都是动态页面,没有静态页面。很多查询结果都跳转到了首页。

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧