基于开源框架的搜索引擎的研究与实现 - googlecode

基于开源框架的搜索引擎的研究与实现 - googlecode

ID:21862797

大小:38.07 KB

页数:5页

时间:2018-10-25

基于开源框架的搜索引擎的研究与实现 - googlecode_第1页
基于开源框架的搜索引擎的研究与实现 - googlecode_第2页
基于开源框架的搜索引擎的研究与实现 - googlecode_第3页
基于开源框架的搜索引擎的研究与实现 - googlecode_第4页
基于开源框架的搜索引擎的研究与实现 - googlecode_第5页
资源描述:

《基于开源框架的搜索引擎的研究与实现 - googlecode》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、华中科技大学基于开源框架的搜索引擎的研究与实现开题报告谭望达4/14/2010本文讲述了如何在开源程序的基础上搭建自己的一个简单的搜索引擎,使用Lucene,Hadoop和一些机器学习库作为搜索引擎的基础,并且还对Lucene与Hadoop的实现原理进行了比较细致的讲述,希望能够对研究和开发搜索引擎的人起到一定的帮助。一.选题意义1.理论意义从理论的意义上来说,也有很多的地方用到了搜索引擎技术,比如说从语音识别,文本分类,模式识别,都使用到了机器学习,而机器学习的核心就是语料库(corpus),而语料库都是庞大的,一般来说动辄以

2、T级来计算,所以如何从T(千G)级的,也就是以十亿文档级别的数据中提取出想要的数据,是一项挑战,在搜索引擎技术诞生之前是不敢想的。可以说,搜索引擎技术与机器学习的识别的结合是未来科研的一个很重要的方向。2.现实意义从实际出发,搜索引擎生活中作为越来越广泛的使用到的一项基本工具,从生活琐事到专业领域,日常问题可以去百度百科,科研论文可以去Google学术,消费购物可以去阿里巴巴,交友联络可以去校内网,而这些公司与检索相关的内容,都可以说或多或少的应用了很多搜索引擎的技术。现在还有越来越多的垂直搜索引擎建立起来,也就是利用其他搜索引

3、擎的结果进行二次排序处理,在一个个的更细分的领域中起到了很大的作用。可以说搜索引擎作为一项互联网的基本技术被广泛的使用。随着一个一个搜索引擎相关的公司的成功,比如Google这样一个神话般的公司,越来越多的人也关注到了这个领域。不过想从头自己编写一个搜索引擎可不是容易的事情,而随着越来越多相关的文献的发表和开源社区的建立,创建这样的一个搜索引擎就不再是难事,而实用这些开源的搜索引擎框架,不需要过多的深入技术细节,而更多的精力可以放在想法的实现上。开源框架的实用一般说来是免费的或者相对商业软件来说是很便宜的,用户可以在资金不太宽裕

4、的时候放心的使用。另外本文将讨论一下机器学习的一些内容,搜索引擎只是一个“搜索”的实现,而如何更好的把结果展示给用户,如何在数据之上实现更多的特性,就是需要机器学习来进行的,搜索引擎与机器学习是越来越不可分。本文将讨论一下机器学习的一些基本概念,并且简单的介绍几个开源的机器学习库。二.论文综述1.国外有关情况综述国外在搜索引擎与机器学习领域是远远的走在了国内同行的前面,据可以查到的资料上来看,最早的搜索引擎有UniversityofMcGill师生开发出的Archie,是一个简单的FTP文件搜索引擎,而国外的相关文献也是非常的多

5、。如果想了解国外的搜索引擎研究最新情况,看看Google的就可以了解到很多的内容。Google的研究成果:超过百万台的机群的管理:Google所主导的“云计算”也就是利用大量廉价的电脑来组成计算集群,在节约了成本的同时也大大的增加了可扩展性,Google现在的集群可以随意的通过扩展计算机的数量来增强计算与存储的能力,也可以通过扩展计算机的数量来增加数据的安全性,一份数据可以在不同的计算机的硬盘中存多份的景象。Google的云计算与很多公司的高档服务器相比,节省了约30%的成本,让自己赢在了起跑线上。Google文件系统(Goog

6、leFileSystem,GFS):Google所创建的GFS隐藏了下层负载均衡,冗余复制等细节,对上层程序提供一个统一的文件系统API接口。Google根据自己的需求对它进行了特别优化,包括:超大文件的访问,读操作比例远超过写操作,PC机极易发生故障造成节点失效等GFS把文件分成64MB的块(Chunk),分布在集群的机器上,使用Linux的文件系统存放。同时每块文件至少有3份以上的冗余,而且是可配置的.中心是一个Master节点(一个集群里面可以有多个Master),根据文件索引,找寻文件块。MapReduce:Google

7、把大部分的分布式运算都分解成了Map操作与Reduce操作,比如说超大的稀疏矩阵的运算,网页中关键词的统计等等。Map操作把输入分解为多个部分,让独立的处理器去运行这些内容,然后把结果混合,进行一次Reduce操作。由于分布式计算的独立性,Map-Reduce的运行时间基本上是与Map和Reduce的数目呈倒数关系的。BigTable:一个大型的运行于分布式平台上的数据库,就像一个巨大的表格,用来存储结构化的数据库。说完了这些,我们再来谈谈本文的重点:开源框架的搜索引擎。Lucene是目前一个很热门的开源搜索引擎的实现,使用Ja

8、va为开发语言,Java可移植性强,也拥有了众多的开源产品,我下面将要提到的Hadoop也是采用Java作为开发语言。Lucene是Apache基金下的一个开源项目。在Lucene下有Nutch(一个基于Lucene的爬虫实现),PyLucene(基于Lucen

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。