全部博文(436)
分类: LINUX
2012-11-14 11:52:56
-------2011.10.26
小组成员:
组长:韩旭红 1091000161
组员:李巍 1091000167 李越 1091000169 闫悦 1091000178
近几周内容:
最近一段时间我们首先把操作平台配置好了,然后大致了解了一下java的内容。把一些源代码看了看,看了一些有关大规模数据排序算法的内容。今天我们组介绍一下nutch的内容。
Nutch的内容谨此让大家了解,有兴趣可以看一下,估计我们也没有时间做这部分的内容了。。。
一.概述
图 1
Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。
随着互联网技术的不断发展,搜索引擎已经成为人们获取网络信息的主要工具。研究搜索引擎网页排序的目的是从众多搜索结果中将内容相关和权威的网页排在前面,帮助用户迅速定位需要的网络资源。网页排序算法直接影响到搜索引擎信息检索的准确率和用户使用满意度。Nutch是基于Java实现的开源搜索引擎。通过对Nutch进行深入研究,指出其目前存在的两大问题,其一是没有实现PageRank算法,影响了最终排序效果;其二是对中文进行单字切分,影响了查询结果准确率。
首先,针对目前Nutch搜索引擎中没有实现网页PageRank计算的问题,利用MapReduce并行计算模型处理大数据集的优势,在Nutch机群系统上设计和实现了基于MapReduce的PageRank分布式并行算法。实验结果表明:处理的数据量越大,机群中的节点越多,计算PageRank的效率越高;另外,该分布式并行算法具有较好的可扩展性。然后,针对目前Nutch对中文进行单字切分的问题,加入了JE中文分词器对Nutch的中文分词进行改进。在分析和研究经典PageRank算法原理的基础上,通过设置控制站外与站内链接的比重因子对该算法进行了改进。为了改善Nutch基于Lucene的网页综合排序模型,将改进后的PageRank算法因子融入到Nutch网页评分计算公式当中。实验表明,改进后Nutch明显提高了查询结果的准确率,改善了中文网页的排序效果。
二. Nutch 致力于做到:
Nutch 致力于做到:
* 每个月取几十亿网页
* 为这些网页维护一个索引
* 对索引文件进行每秒上千次的搜索
* 提供高质量的搜索结果
* 以最小的成本运作
三. 组成
Nutch主要分为两个部分
爬虫crawler和查询searcher。Crawler主要用于从网络上抓取网页并为这些网页建立索引。Searcher主要利用这些索引检索用户的查找关键词来产生查找结果。两者之间的接口是索引,所以除去索引部分,两者之间的耦合度很低。
Crawler和Searcher两部分尽量分开的目的主要是为了使两部分可以分布式配置在硬件平台上,例如将Crawler和Searcher管理员在2009年8月13日编辑了该文章文章。