搜索引擎Nutch介绍

【摘要】
Nutch 是一个刚刚诞生开放源代码(open-source)的web搜索引擎.

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

【全文】
Nutch 是一个刚刚诞生开放源代码(open-source)的web搜索引擎.

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

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

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

nutch内部工作流程

1. 创建一个新的WebDB (admin db -create)。
2. 把开始抓取的跟Url 放入WebDb (inject)。
3. 从WebDb的新 segment 中生成 fetchlist (generate)。
4. 根据 fetchlist 列表抓取网页的内容 (fetch)。
5. 根据抓取回来的网页链接url更新 WebDB (updatedb)。
6. 重复上面3-5个步骤直到到达指定的抓取层数。
7. 用计算出来的网页url权重 scores 更新 segments (updatesegs)。
8. 对抓取回来的网页建立索引(index)。
9. 在索引中消除重复的内容和重复的url (dedup)。
10. 合并多个索引到一个大索引,为搜索提供索引库(merge)。


我的测试机器的执行命令:

cd work/java_work/search_engine/open_src/nutch-0.7.2

一次性:

../bin/nutch crawl urls -dir invader -depth 3 -topN 50

分解:

1. 创建数据库
../bin/nutch admin -local test -create

2. 把根URL放到数据库中
../bin/nutch inject -local test -urlfile urls

3. 把数据库中的URL取出到块中
../bin/nutch generate test test/segments

4. 根据取出的URL进行WEB下载
s1=`ls -d crawl/segments/2* | tail -1`
echo $s1
../bin/nutch fetch test/segments/20060628160619

5. 把下载的web更新到数据库中
../bin/nutch updatedb test test/segments/20060628160619

6. 重复3-5步骤,直至要下载网页树的深度
../bin/nutch generate test test/segments
../bin/nutch fetch test/segments/20060628162458
../bin/nutch updatedb test test/segments/20060628162458

7. 建立索引
../bin/nutch index indexes test/linkdb test/segments/*
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值