全文搜索引擎的设计与实现-文献综述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

江汉大学毕业论文(设计)

文献综述

综述名称全文搜索引擎的设计与实现

姓名cccc

学号200708202137

2013年4月8日

一、绪论

目前定制和维护搜索引擎的需求越来越大,对于处理庞大的网络数据,如何有效的去存储它并访问到我们需要的信息,变得尤为重要。Web搜索引擎能有很好的帮助我们解决这一问题。

本文阐述了一个全文搜索引擎的原理及其设计和实现过程。该系统采用B/S 模式的Java Web平台架构实现,采用Nutch相关框架,包括Nutch,Solr,Hadoop,以及Nutch的基础框架Lucene对全网信息的采集和检索。文中阐述了Nutch相关框架的背景,基础原理和应用。

Nutch相关框架的出现,使得在java平台上构建个性化搜索引擎成为一件简单又可靠的事情。Nutch 致力于让每个人能很容易, 同时花费很少就可以配置世界一流的Web搜索引擎。目前国内有很多大公司,比如百度、雅虎,都在使用Nutch相关框架。由于Nutch是开源的,阅读其源代码,可以让我们对搜索引擎实现有更加深刻的感受,并且能够更加深度的定制需要的搜索引擎实现细节。

本文首先介绍了课题研究背景,然后对系统涉及到的理论知识,框架的相关理论做了详细说明,最后按照软件工程的开发方法逐步实现系统功能。

二、文献研究

2.1 Nutch技术

Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。

尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降。并且这很有可能进一步演变成为一个公司垄断了几乎所有的web搜索为其谋取商业利益.这显然不利于广大Internet用户。

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

机去扭曲搜索的结果。

Nutch将尽自己最大的努力为用户提供最好的搜索结果。Nutch 致力于让每个人能很容易, 同时花费很少就可以配置世界一流的Web搜索引擎。

2.1.1 特色和缺点

特色:

1、透明度:Nutch是开放源代码的,因此任何人都可以查看他的排序算法是如何工作的。商业的搜索引擎排序算法都是保密的,我们无法知道为什么搜索出来的排序结果是如何算出来的。更进一步,一些搜索引擎允许竞价排名,比如百度,这样的索引结果并不是和站点内容相关的。因此 Nutch 对学术搜索和政府类站点的搜索来说,是个好选择。因为一个公平的排序结果是非常重要的。

2、对搜索引擎的理解:我们并没有google的源代码,因此学习搜索引擎Nutch是个不错的选择。了解一个大型分布式的搜索引擎如何工作是一件让人很受益的事情。在写Nutch的过程中,从学院派和工业派借鉴了很多知识:比如:Nutch的核心部分目前已经被重新用 Map Reduce 实现了。看过开复演讲的人都知道 Map Reduce 的一点知识吧。Map Reduce 是一个分布式的处理模型,最先是从 Google 实验室提出来的。你也可以从下面获得更多的消息。

/bbs/list.asp?boardid=29

/bbs/list.asp?boardid=29

并且 Nutch 也吸引了很多研究者,他们非常乐于尝试新的搜索算法,因为对Nutch 来说,这是非常容易实现扩展的。

3、扩展性你是不是不喜欢其他的搜索引擎展现结果的方式呢?那就用Nutch 写你自己的搜索引擎吧。 Nutch 是非常灵活的:他可以被很好的客户订制并集成到你的应用程序中:使用Nutch 的插件机制,Nutch 可以作为一个搜索不同信息载体的搜索平台。当然,最简单的就是集成Nutch到你的站点,为你的用户提供搜索服务。

缺点:

1.Nutch是通用的网路爬虫,这是优点也是缺点。缺点是不适应垂直搜索

平台。

2.Nutch是机遇Java平台的,虽然架构很清爽,但是使用起来,速度还是

比其他语言平台的应用要慢一些。

3.Nutch目前配套的资料较少,学习起来困难度较大。

4.

最新版本:

Nutch可以在官方网站上获得/目前Nutch的最新版为:Apache Nutch v2.1 Release。由于Nutch目前官方只是在Linux系统上对其进行了测试,所以在选择开发环境的时候,最好选用Linux系统。

2.2 Solr技术

Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service 的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML 文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

2.2.1 特色和缺点

特色:

1. Solr集成了搜索引擎中的所要建立和查询,能够很好地集成其他Nutch 相关平台。

2. Solr使用方便,灵活性强,效率和稳定性能也较其他框架好。

3. Solr支持多种配置方式的运行,比如分词器,可以集成我们自定义的分词,对分词做到个性化配置。

缺点:

虽然Solr效率较高,但是毕竟是基于Java平台,运行速度上还是有待提高。

最新版本:

Solr可以在官方网站上获得/dyn/closer.cgi/lucene/solr/,目前Nutch的最新版为:solr-4.3.0。由于Solr目前官方只是在Linux系统上对其进行了测试,所

相关文档
最新文档