nutch安装与测试

来源:互联网 发布:p6软件 编辑:程序博客网 时间:2024/05/19 04:26

一、Nutch 介绍(来自百度百科)

Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降. 并且这很有可能进一步演变成为一个公司垄断了几乎所有的web搜索为其谋取商业利益.这显然不利于广大Internet用户.

Nutch为我们提供了这样一个不同的选择. 相对于那些商用的搜索引擎, Nutch作为开放源代码搜索引擎将会更加透明, 从而更值得大家信赖. 现在所有主要的搜索引擎都采用私有的排序算法, 而不会解释为什么一个网页会排在一个特定的位置. 除此之外, 有的搜索引擎依照网站所付的费用, 而不是根据它们本身的价值进行排序.与它们不同, Nucth没有什么需要隐瞒, 也没有动机去扭曲搜索的结果. Nutch将尽自己最大的努力为用户提供最好的搜索结果。

Nutch目前最新的版本为version1.4。Nutch致力于让每个人能很容易, 同时花费很少就可以配置世界一流的Web搜索引擎. 为了完成这一宏伟的目标, Nutch必须能够做到:

  • 每个月取几十亿网页
  • 为这些网页维护一个索引
  • 对索引文件进行每秒上千次的搜索
  • 提供高质量的搜索结果
  •  以最小的成本运作

二、Nutch安装与运行

2.1 环境配置

  • 安装环境:Linux Ubuntu 11.10
  • 安装环境:Linux Ubuntu 11.10
  • 配置环境:jdk1.70_03
  • 相关软件包:nutch 1.4

2.2 配置java环境

  1. 下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2.  解压到/usr下,然后配置环境变量:编辑 ~/.bashrc文件,加入export JAVA_HOME=/usr/your_jdk/,保存退出后用source ~/.bashrc命令更新。
  3.  可用java -version 查看是否配置成功。

2.3 配置Nutch

  1. 下载nutch:http://www.apache.org/dyn/closer.cgi/nutch/
  2. 解压到/usr/local下,然后进入nutch_home/runtime/local下运行bin/nutch 看是否成功运行。
  3. 正常情况如下显示:
    Usage: nutch [-core] COMMAND …… (PS:如出现Permission denied,可输入相应命令处理)
    chmod +x bin/nutch

      4. 配置conf/nutch-site.xml(local目录下),在<configuration>标签中写入如下子标签:

    <property> 
        <name>http.agent.name</name> 
        <value>My Nutch Spider</value> 
    </property>

   5. 在local下新建urls文件夹,并在其中编辑文本文件,文件名自拟,我们以网易为例进行搜索,所以编写如下内容:

http://www.163.com

     6. 配置编辑文件conf/regex-urlfilter.txt,将

              # accept anything else
              +.

    中的+.改为 +^http://([a-z0-9]*\.)*163.com/ (PS:这里的正则表达式一定不要出错,否则爬虫失败!!)

2.4 运行命令,进行测试

     在local下运行命令:
      bin/nutch crawl urls -dir crawl -depth 3 -topN 5
       其中:crawl urls,urls为我们所指定的爬虫目标网站
    -dir crawl ,对结果建立索引文件,目录为crawl文件夹
    -depth 3, 规定拓扑树的最大深度
    -topN 5, 规定拓扑树的最大广度

三、测试结果评估

  本次测试遇到的结果较多,主要集中在环境变量搭建和nutch配置方面。

  1. 对于没有java_jdk的系统,应先做好jvm环境变量工作,可配置/etc/profile文件

  2. 配置regex-urlfilter.txt时,正则表达式一定正确,否则url会被屏蔽

  3. 此次配置测试只是对nutch的初步配置,目的是建立index,下一步主要目标是利用tomcat或hadoop对所建立起的index进行检索。

四、构建搜索引擎

  对于搜索引擎的建立,这只是一小步。要建立大型海量数据的搜索,还需将nutch中的hadoop构架进行优化处理,并要对集群管理监控做到自动处理。同时,需要分布式存储系统对index的生成和查询提供快速、可靠的保障。

  基于目前为初步涉足搜索领域,所以只是浅谈了今后需要进行的工作,不正之处,还望多多指教。

五、参考文档 

  1. Apache Nutch:http://nutch.apache.org/

  2. Nutch Tutorial:http://wiki.apache.org/nutch/NutchTutorial

  3. 云计算(第二版)刘鹏

0 0
原创粉丝点击