`
X.D.Hua
  • 浏览: 6857 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

[原创]Nutch_0.8实践(1)

阅读更多
 

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.8lukeall-0.7.jar也是基于JRE1.5,使用lukeall-0.6.jar

       插曲二:默认cygwin是没有vimorecrontab的功能(可惜...),建议都下载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>

  1. # accept hosts in MY.DOMAIN.NAME  
  2.  
  3. #+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/   
  4.   
  5. +^http://192.168.0.92:8080/   

(注:根据实际情况配置)

2.2.        添加$cygwin_home/home/$user/nutch/urls/url.txt文件

<o:p>            增加代码:</o:p>

<o:p>
txt代码
</o:p>
<o:p>
  1. http://192.168.0.92:8080/nbtravel/index.html  

(注:根据实际情况配置)

2.3.        修改$cygwin_home/home/$user/nutch/conf/nutch-site.xml<o:p></o:p>

            修改代码:

  1. <?xml version="1.0"?>  
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  3.   
  4. <!-- Put site-specific property overrides in this file. -->  
  5.   
  6. <configuration>  
  7.     <property>  
  8.       <name>http.agent.name</name>  
  9.       <value>Nutch</value>  
  10.       <description>HTTP 'User-Agent' request header. MUST NOT be empty -    
  11.       please set this to a single word uniquely related to your organization.   
  12.   
  13.       NOTE: You should also check other related properties:   
  14.   
  15.         http.robots.agents   
  16.         http.agent.description   
  17.         http.agent.url   
  18.         http.agent.email   
  19.         http.agent.version   
  20.   
  21.       and set their values appropriately.   
  22.   
  23.       </description>  
  24.     </property>  
  25.   
  26.     <property>  
  27.       <name>http.robots.agents</name>  
  28.       <value>Nutch,*</value>  
  29.       <description>The agent strings we'll look for in robots.txt files,   
  30.       comma-separated, in decreasing order of precedence. You should   
  31.       put the value of http.agent.name as the first agent name, and keep the   
  32.       default * at the end of the list. E.g.: BlurflDev,Blurfl,*   
  33.       </description>  
  34.     </property>  
  35.   
  36.     <property>  
  37.       <name>http.agent.description</name>  
  38.       <value>Nutch Search Engineer</value>  
  39.       <description>Further description of our bot- this text is used in   
  40.       the User-Agent header.  It appears in parenthesis after the agent name.   
  41.       </description>  
  42.     </property>  
  43.   
  44.     <property>  
  45.       <name>http.agent.url</name>  
  46.       <value>http://lucene.apache.org/nutch/bot.html</value>  
  47.       <description>A URL to advertise in the User-Agent header.  This will    
  48.        appear in parenthesis after the agent name. Custom dictates that this   
  49.        should be a URL of a page explaining the purpose and behavior of this   
  50.        crawler.   
  51.       </description>  
  52.     </property>  
  53.   
  54.     <property>  
  55.       <name>http.agent.email</name>  
  56.       <value>nutch-agent@lucene.apache.org</value>  
  57.       <description>An email address to advertise in the HTTP 'From' request   
  58.        header and User-Agent header. A good practice is to mangle this   
  59.        address (e.g. 'info at example dot com') to avoid spamming.   
  60.       </description>  
  61.     </property>  
  62.   
  63. </configuration>  
 
 
2.4.        修改$tomcat_home/conf/server.xml
 
2.4.1.       Connector
 
xml 代码
  1. <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"      
  2. enableLookups="false" redirectPort="8443" acceptCount="100"      
  3. debug="0" connectionTimeout="20000"        
  4. disableUploadTimeout="true" URIEncoding="UTF-8"/>     
 
2.4.2.       Context
xml 代码
  1. <Context path="/nutch" docBase="$cygwin_home\home\$user\nutch\nutch-0.8.1.war" debug="0" reloadable="true" crossContext="true" />      
  2. <Context path="/pub" docBase="D:\workspace\nbpub" debug="0" reloadable="true" crossContext="true" />      
  3. <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 代码
  1. <?xml version="1.0"?>  
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  3.   
  4. <!-- Put site-specific property overrides in this file. -->  
  5.   
  6. <configuration>  
  7. <property>  
  8. <name>searcher.dir</name>  
  9. <value>D:\cygwin\home\Howard\nutch\crawl</value>  
  10. </property>  
  11. </configuration>  
 
 
2.7.        增加$cygwin_home\home\$user\nutch\cron.sh文件
            增加代码:
 
shell代码
  1. bin/nutch crawl urls -dir crawl -depth 7 -topN 50  
 
(注:根据实际情况配置)
 
2.8.        $cygwin_home\home\$user\nutch\下执行,“./cron.sh”,开始爬,直到提示“crawl finished: crawl
 
2.9.        执行http://192.168.0.92:8080/nutch/ ,查询效果如下:

 
图表 1查询结果
 
 
3.         遗留问题
        问题一:必须关闭TOMCAT才能执行删除索引,那么如果放到生产环境上是否也存在类似问题。
        问题二:分词问题,命中率并不是很高,如图1Lucene将“统计”,拆分成“统计”、“统”和“计”,如何优化。
        问题三:不能对索引进行Update,只能删除重建,影响效率。
        问题四:还没有安装cron,没有把爬虫放在后台执行队列中。     
     
To be continu…

xml 代码
</o:p>
  • 描述: 查询结果
  • 大小: 65.2 KB
分享到:
评论
2 楼 凝血神抓 2007-08-10  
楼上ID不错:)

1 楼 javaeyes 2007-05-22  
也敢妄称in action!!
楼主还贴了个硬盘图 弓虽人

相关推荐

    nutch_recrawl_mergecrawl.rar_nutch_nutch recrawl_recrawl

    **1. Nutch 简介** Nutch 是由 Apache 软件基金会维护的一个项目,其设计目标是创建一个可扩展、高性能的网页抓取和全文搜索引擎。Nutch 提供了完整的搜索功能,包括网络爬虫、分词、索引和搜索。它基于 Hadoop,...

    Nutch 0.8笔记NUTCHNUTCH

    1. **文档阅读**:深入了解 Nutch 需要阅读官方提供的文档,如 "Introduction to Nutch, Part 1 Crawling" 和 "Introduction to Nutch, Part 2 Searching",以及源代码。Nutch 的源码结构清晰,便于理解和学习。 2....

    nutch tutorials0.8

    ### Nutch 0.8.x 教程:深入解析企业级搜索引擎技术 #### 一、基础知识与需求概览 Nutch是一款开源的网络爬虫工具,由Apache软件基金会开发,旨在帮助用户抓取互联网上的信息并构建自己的搜索引擎。在本教程中,...

    nutch_1.4配置

    1. 打开Cygwin终端,切换至Nutch的`runtime/local`目录,如:`cd /cygdrive/d/apache-nutch-1.4/runtime/local`。 2. 输入`bin/nutch`命令,若显示命令信息提示,则表示路径设置正确,Nutch安装成功。 #### 四、...

    Nutch_插件深入研究

    ### Nutch插件深入研究 #### 一、Nutch插件概述 Nutch是一个开源的Web爬虫项目,由Apache软件基金会维护。它基于Hadoop,能够从互联网上抓取和索引网页,构建搜索引擎。Nutch的强大之处在于其高度可定制性,这主要...

    Nutch_的配置文件

    1. **Hadoop的配置文件**:包括`Hadoop-default.xml`和`Hadoop-site.xml`。`Hadoop-default.xml`是Hadoop的默认配置,列出了所有可能的配置选项和它们的默认值。而`Hadoop-site.xml`则是用户或管理员根据实际环境...

    nutch_src 源码 tar—zip格式

    1. **tar格式**:源于Unix系统,主要用于打包多个文件和目录到一个单一的文件中,但并不进行压缩。tar文件通常以".tar"为后缀,其优点在于能保持文件原有的权限、时间戳等元数据。在我们的例子中,"apache-nutch-1.4...

    Ubuntu_Nutch_.pdf

    - `bin/nutch crawl urls -dir crawldata -depth 1 -topN 100 -fetchlog fetchlog` **3. 测试爬取结果** - **配置搜索资源**: 在Tomcat的Nutch项目部署文件中,添加用于搜索的资源地址。 - **执行搜索**: 输入...

    nutch_1.4在windows下安装配置.pdf

    ### Nutch 1.4 在 Windows 下的安装与配置知识点详解 #### 一、Nutch 简介 - **定义**: Apache Nutch 是一款基于 Java 的开源网页爬虫项目,能够自动抓取互联网上的网页及其内部链接,并对其进行索引处理。 - **...

    把多次用nutch_crawl获得的所有目录合并在一起

    1. **合并链接数据库(LinkDB)**: 链接数据库存储了网页之间的链接关系。通过`nutch merge linkdb`命令,将不同爬取任务的linkdb合并到新的目标目录中。这确保了合并后的数据库中包含了所有爬取周期内发现的链接...

    apache-nutch-1.13-src.zip_nutch_网络爬虫

    1. **抓取**:Nutch 使用种子URL开始,通过解析页面中的链接进行深度优先或广度优先的遍历,不断发现新的网页。它还支持反向链接分析,以提高抓取的效率和覆盖率。 2. **下载**:Nutch 可以下载抓取到的网页,并...

    NUTCH_RMNUTCH_RM

    NUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RMNUTCH_RM

    apache-nutch-1.3-src.tar.gz_nutch_nutch-1.3.tar.gz

    1. **Hadoop 集成**: Nutch 1.3 与 Hadoop 深度集成,利用其分布式计算能力处理大量数据。 2. **改进的抓取策略**: 采用更加智能的抓取策略,如基于 PageRank 的优先级排序,提高抓取效率。 3. **多语言支持**: 支持...

    apache-nutch-1.4-src.tar.gz_nutch_搜索引擎

    1. **网络爬虫(Crawler)**:Nutch 的网络爬虫负责发现和下载互联网上的网页。它使用种子URL列表开始,通过页面上的链接进行深度遍历,生成待抓取队列。Nutch 使用了高效的URL管理机制,确保已抓取和待抓取的URL不...

    Lucene2.0+Nutch0.8 API帮助文档(CHM格式)

    《Lucene2.0+Nutch0.8 API帮助文档》是一个综合性的技术资源,它包含了对Lucene 2.0和Nutch 0.8这两个关键的开源搜索引擎库的详细接口和功能说明。这两个组件在信息检索、全文搜索以及网络爬虫领域有着广泛的应用。 ...

    关于Nutch的安装

    本文将详细介绍如何安装Nutch version 0.8。 **1. 安装前提** 在开始Nutch的安装前,需要确保满足以下硬件和软件条件: - **Java环境**:Nutch 0.8要求Java 1.4或更高版本。在Windows环境下,你需要设置环境变量`...

    apache-nutch-1.6-bin.tar.gz最新版

    nutch不用安装,是个应用程序,下载后为nutch-1.6.tar.gz,双击桌面上的cygwin快捷方式;执行以下命令: $ cd D:/Downloads/Soft $ tar zxvf nutch-1.0.tar.gz 在e盘下面出现nutch-0.9文件夹说明解压成功了.然后环境...

    基于lucene和nutch的开源搜索引擎资料集合

    Linux下Nutch分布式配置和使用.pdf Lucene+Nutch源码.rar Lucene学习笔记.doc nutch_tutorial.pdf nutch二次开发总结.txt nutch入门.pdf nutch入门学习.pdf Nutch全文搜索学习笔记.doc Yahoo的Hadoop教程.doc [硕士...

    Nutch相关框架视频教程

    资源名称:Nutch相关框架视频教程资源目录:【】Nutch相关框架视频教程1_杨尚川【】Nutch相关框架视频教程2_杨尚川【】Nutch相关框架视频教程3_杨尚川【】Nutch相关框架视频教程4_杨尚川【】Nutch相关框架视频教程5_...

Global site tag (gtag.js) - Google Analytics