Nutch_<st1:chmetcnv hasspace="True" numbertype="1" negative="False" sourcevalue=".8" unitname="in" w:st="on" tcsc="0">0.8实践</st1:chmetcnv> (1)<o:p></o:p>
<st1:chsdate w:st="on" month="5" islunardate="False" day="21" year="2007" isrocdate="False">2007-5-21</st1:chsdate><o:p></o:p>
<o:p> </o:p>
Key Word: Nutch Lucene<o:p></o:p>
(一)前言<o:p></o:p>
1. 概述
为了完成本地的全文检索,并在以后中可以升级到对其他网站的全文检索的功能。采用了Lucene搜索引擎来尝试,如果效果好的话,可以普及到以后的产品或项目中。
整个过程中,发现网上的资源良莠不齐,才决定写该文档,供大家参考研究讨论。
<o:p></o:p>
2. 作业环境<o:p></o:p>
WIN SERVER 2003 Enterprise Editon + WAS6.0(自带JRE <st1:chsdate w:st="on" month="12" islunardate="False" day="30" year="1899" isrocdate="False">1.4.2</st1:chsdate>)
<o:p></o:p>
3. 测试开发环境<o:p></o:p>
WIN XP Pro + JRE <st1:chsdate w:st="on" month="12" islunardate="False" day="30" year="1899" isrocdate="False">1.4.2</st1:chsdate>_03 + Tomcat 5.0
(二)开发
1. 前提条件<o:p></o:p>
Cygwin下载:cygwin官方http://www.cygwin.com
Nutch 0.8下载:nutch官方http://lucene.apache.org/nutch/
Lukeall 0.6下载:http://www.getopt.org/luke/(查看Nutch Crawl工具,非必要)
建议:下载http://www.cygwin.com/setup.exe,点击setup.exe建议选择第二项(“Download Without Installing”),选择一个.tw的镜像下载;下载完毕后,在点击steup.exe,选择第三项(“Install from Local Direction”),完成Cygwin的安装。
插曲一:由于作业环境和测试开发环境是JRE1.4的,在安装nutch0.9之后即报错版本不兼容,打开源程序一看是JRE1.5的代码,只好忍痛舍弃最近更新的lucene<st1:chsdate w:st="on" month="12" islunardate="False" day="30" year="1899" isrocdate="False">2.1.0</st1:chsdate>,重新安装nutch0.8。lukeall-0.7.jar也是基于JRE1.5,使用lukeall-0.6.jar。
插曲二:默认cygwin是没有vi、more和crontab的功能(可惜...),建议都下载cron安装后,再继续配置nutch。
<o:p> </o:p>
2. 配置<o:p></o:p>
先将nutch下载后全部解压存放到$cygwin_home/home/$user/nutch下,设置环境变量NUTCH_JAVA_HOME=$JAVA_HOME
2.1. 修改$cygwin_home/home/$user/nutch/conf/crawl-urlfilter.txt<o:p></o:p>
<o:p></o:p>
<o:p> shell</o:p><o:p>代码</o:p>
- # accept hosts in MY.DOMAIN.NAME
-
- #+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
-
- +^http:
(注:根据实际情况配置)
2.2. 添加$cygwin_home/home/$user/nutch/urls/url.txt文件
<o:p> 增加代码:</o:p>
<o:p>
txt代码
</o:p><o:p>
(注:根据实际情况配置)
2.3. 修改$cygwin_home/home/$user/nutch/conf/nutch-site.xml<o:p></o:p>
修改代码:
- <?xml version="1.0"?>
- <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
-
-
-
- <configuration>
- <property>
- <name>http.agent.name</name>
- <value>Nutch</value>
- <description>HTTP 'User-Agent' request header. MUST NOT be empty -
- please set this to a single word uniquely related to your organization.
-
- NOTE: You should also check other related properties:
-
- http.robots.agents
- http.agent.description
- http.agent.url
- http.agent.email
- http.agent.version
-
- and set their values appropriately.
-
- </description>
- </property>
-
- <property>
- <name>http.robots.agents</name>
- <value>Nutch,*</value>
- <description>The agent strings we'll look for in robots.txt files,
- comma-separated, in decreasing order of precedence. You should
- put the value of http.agent.name as the first agent name, and keep the
- default * at the end of the list. E.g.: BlurflDev,Blurfl,*
- </description>
- </property>
-
- <property>
- <name>http.agent.description</name>
- <value>Nutch Search Engineer</value>
- <description>Further description of our bot- this text is used in
- the User-Agent header. It appears in parenthesis after the agent name.
- </description>
- </property>
-
- <property>
- <name>http.agent.url</name>
- <value>http://lucene.apache.org/nutch/bot.html</value>
- <description>A URL to advertise in the User-Agent header. This will
- appear in parenthesis after the agent name. Custom dictates that this
- should be a URL of a page explaining the purpose and behavior of this
- crawler.
- </description>
- </property>
-
- <property>
- <name>http.agent.email</name>
- <value>nutch-agent@lucene.apache.org</value>
- <description>An email address to advertise in the HTTP 'From' request
- header and User-Agent header. A good practice is to mangle this
- address (e.g. 'info at example dot com') to avoid spamming.
- </description>
- </property>
-
- </configuration>
2.4. 修改$tomcat_home/conf/server.xml
2.4.1. Connector
xml 代码
- <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
- enableLookups="false" redirectPort="8443" acceptCount="100"
- debug="0" connectionTimeout="20000"
- disableUploadTimeout="true" URIEncoding="UTF-8"/>
2.4.2. Context
xml 代码
- <Context path="/nutch" docBase="$cygwin_home\home\$user\nutch\nutch-0.8.1.war" debug="0" reloadable="true" crossContext="true" />
- <Context path="/pub" docBase="D:\workspace\nbpub" debug="0" reloadable="true" crossContext="true" />
- <Context path="/nbtravel" docBase="D:\workspace\nbtravel\nbtravel" debug="0" reloadable="true" crossContext="true" />
(注:根据实际情况配置,pub和nbtravel为我的目标项目)
2.5. 启动TOMCAT
2.6. 修改$tomcat_home/webapps/nutch/WEB-INF/classes/nutch-site.xml
修改代码:
xml 代码
- <?xml version="1.0"?>
- <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
-
-
-
- <configuration>
- <property>
- <name>searcher.dir</name>
- <value>D:\cygwin\home\Howard\nutch\crawl</value>
- </property>
- </configuration>
2.7. 增加$cygwin_home\home\$user\nutch\cron.sh文件
增加代码:
shell代码
- bin/nutch crawl urls -dir crawl -depth 7 -topN 50
(注:根据实际情况配置)
2.8. $cygwin_home\home\$user\nutch\下执行,“./cron.sh”,开始爬,直到提示“crawl finished: crawl”
图表 1查询结果
3. 遗留问题
问题一:必须关闭TOMCAT才能执行删除索引,那么如果放到生产环境上是否也存在类似问题。
问题二:分词问题,命中率并不是很高,如图1,Lucene将“统计”,拆分成“统计”、“统”和“计”,如何优化。
问题三:不能对索引进行Update,只能删除重建,影响效率。
问题四:还没有安装cron,没有把爬虫放在后台执行队列中。
To be continu…
xml 代码
</o:p>
- 描述: 查询结果
- 大小: 65.2 KB
分享到:
相关推荐
**1. Nutch 简介** Nutch 是由 Apache 软件基金会维护的一个项目,其设计目标是创建一个可扩展、高性能的网页抓取和全文搜索引擎。Nutch 提供了完整的搜索功能,包括网络爬虫、分词、索引和搜索。它基于 Hadoop,...
1. **文档阅读**:深入了解 Nutch 需要阅读官方提供的文档,如 "Introduction to Nutch, Part 1 Crawling" 和 "Introduction to Nutch, Part 2 Searching",以及源代码。Nutch 的源码结构清晰,便于理解和学习。 2....
### Nutch 0.8.x 教程:深入解析企业级搜索引擎技术 #### 一、基础知识与需求概览 Nutch是一款开源的网络爬虫工具,由Apache软件基金会开发,旨在帮助用户抓取互联网上的信息并构建自己的搜索引擎。在本教程中,...
1. 打开Cygwin终端,切换至Nutch的`runtime/local`目录,如:`cd /cygdrive/d/apache-nutch-1.4/runtime/local`。 2. 输入`bin/nutch`命令,若显示命令信息提示,则表示路径设置正确,Nutch安装成功。 #### 四、...
### Nutch插件深入研究 #### 一、Nutch插件概述 Nutch是一个开源的Web爬虫项目,由Apache软件基金会维护。它基于Hadoop,能够从互联网上抓取和索引网页,构建搜索引擎。Nutch的强大之处在于其高度可定制性,这主要...
1. **Hadoop的配置文件**:包括`Hadoop-default.xml`和`Hadoop-site.xml`。`Hadoop-default.xml`是Hadoop的默认配置,列出了所有可能的配置选项和它们的默认值。而`Hadoop-site.xml`则是用户或管理员根据实际环境...
1. **tar格式**:源于Unix系统,主要用于打包多个文件和目录到一个单一的文件中,但并不进行压缩。tar文件通常以".tar"为后缀,其优点在于能保持文件原有的权限、时间戳等元数据。在我们的例子中,"apache-nutch-1.4...
- `bin/nutch crawl urls -dir crawldata -depth 1 -topN 100 -fetchlog fetchlog` **3. 测试爬取结果** - **配置搜索资源**: 在Tomcat的Nutch项目部署文件中,添加用于搜索的资源地址。 - **执行搜索**: 输入...
### Nutch 1.4 在 Windows 下的安装与配置知识点详解 #### 一、Nutch 简介 - **定义**: Apache Nutch 是一款基于 Java 的开源网页爬虫项目,能够自动抓取互联网上的网页及其内部链接,并对其进行索引处理。 - **...
1. **合并链接数据库(LinkDB)**: 链接数据库存储了网页之间的链接关系。通过`nutch merge linkdb`命令,将不同爬取任务的linkdb合并到新的目标目录中。这确保了合并后的数据库中包含了所有爬取周期内发现的链接...
1. **抓取**:Nutch 使用种子URL开始,通过解析页面中的链接进行深度优先或广度优先的遍历,不断发现新的网页。它还支持反向链接分析,以提高抓取的效率和覆盖率。 2. **下载**:Nutch 可以下载抓取到的网页,并...
NUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RM
1. **Hadoop 集成**: Nutch 1.3 与 Hadoop 深度集成,利用其分布式计算能力处理大量数据。 2. **改进的抓取策略**: 采用更加智能的抓取策略,如基于 PageRank 的优先级排序,提高抓取效率。 3. **多语言支持**: 支持...
1. **网络爬虫(Crawler)**:Nutch 的网络爬虫负责发现和下载互联网上的网页。它使用种子URL列表开始,通过页面上的链接进行深度遍历,生成待抓取队列。Nutch 使用了高效的URL管理机制,确保已抓取和待抓取的URL不...
《Lucene2.0+Nutch0.8 API帮助文档》是一个综合性的技术资源,它包含了对Lucene 2.0和Nutch 0.8这两个关键的开源搜索引擎库的详细接口和功能说明。这两个组件在信息检索、全文搜索以及网络爬虫领域有着广泛的应用。 ...
本文将详细介绍如何安装Nutch version 0.8。 **1. 安装前提** 在开始Nutch的安装前,需要确保满足以下硬件和软件条件: - **Java环境**:Nutch 0.8要求Java 1.4或更高版本。在Windows环境下,你需要设置环境变量`...
nutch不用安装,是个应用程序,下载后为nutch-1.6.tar.gz,双击桌面上的cygwin快捷方式;执行以下命令: $ cd D:/Downloads/Soft $ tar zxvf nutch-1.0.tar.gz 在e盘下面出现nutch-0.9文件夹说明解压成功了.然后环境...
Linux下Nutch分布式配置和使用.pdf Lucene+Nutch源码.rar Lucene学习笔记.doc nutch_tutorial.pdf nutch二次开发总结.txt nutch入门.pdf nutch入门学习.pdf Nutch全文搜索学习笔记.doc Yahoo的Hadoop教程.doc [硕士...
资源名称:Nutch相关框架视频教程资源目录:【】Nutch相关框架视频教程1_杨尚川【】Nutch相关框架视频教程2_杨尚川【】Nutch相关框架视频教程3_杨尚川【】Nutch相关框架视频教程4_杨尚川【】Nutch相关框架视频教程5_...