当前位置:主页 > 科技论文 > 搜索引擎论文 >

基于Hadoop的分布式搜索引擎研究与实现探讨

发布时间:2016-10-25 17:34

  本文关键词:基于Hadoop的分布式搜索引擎研究与实现,由笔耕文化传播整理发布。


阅读技巧:Ctrl+D 收藏本篇文章

基于Hadoop的分布式搜索引擎研究与实现探讨

现今,互联网的信息已经融入了人们的生活与学习中,人们越来越重视信息获取的能力。传统的集中式搜索引擎,存在覆盖范围窄,更新时间长,返回结果多,存在查询歧义等问题,已经不能适应现今网络的发展,开发出一种可以快速处理信息,准确获取资源的搜索引擎,是现今网络研究的热点[1]。因此,分布式搜索引擎应运而生。该搜索引擎具备分布式处理信息的作用,可以对系统规模进行扩展,进而提高系统处理信息的能力。本文从几方面,对在Hadoop平台下,分布式搜素引擎进行一定的探讨,期望可以为网络系统的长远发展提供借鉴。
  一、Hadoop 平台概述
  Hadoop平台,是一种具备扩展性、可靠性、高效性、低成本的软件框架,是分布式处理的软件平台,常被用来处理与运行海量数据。Hadoop的扩展性,体现在可以处理PB 级数据;Hadoop的可靠性,体现在可以保护多个工作数据副本,可以对失败的节点进行重新分布操作。Hadoop的高效性,体现在经由并行处理的模式,可以显著提高处理速度。Hadoop的低成本,体现在它的服务器较为低端,甚至普通的PC机就能作为集群的一员,实现的成本可以得到有效控制[2]。现今,伴随多个版本的进展,Hadoop已经发展成为搜索引擎中的理想平台。分布式文件系统(HDFS)、分布式计算 MapReduce,是Hadoop平台的两大核心。除了核心内容外,还包括Hbase;Hvie;Chukwa;Avro;Common诸多子项目。子项目之间,可以进行服务的互助操作,或者是依据核心层,为更高级别提供服务[3]。
  二、基于Hadoop 的分布式搜索引擎的原理及优势
  1.分布式搜索引擎的原理
  分布式搜索引擎,其依据的标准为地域、IP 地址、主题等,将全网分为多个区域,进而形成网络区域的自行管理。任何自治区,都是通过检索服务器完成相应的工作。具体讲,一个基本的分布式搜索引擎包括分布式信息采集器、分布式索引器以及分布式检索器三部分。分布式信息采集器,可以在运行过程中要求多台机器实行具体的分工合作。为了提高信息的更新速度、信息发现的效率,多台机器都应在各自的区域内,进行相应信息的搜索,同时建立索引,并储存在索引数据库中[4]。分布式索引器,可以在不同的机器上同时进行执行操作,降低索引对于机器的特殊要求,进而实现检索服务器之间的信息交流。分布式检索器,可以为用户提供查询接口。分布式检索器在实际应用中,还具有一个特殊优势,具体讲就是当用户的查询要求增多时,分布式检索器可以实现调配查询请求,可以将查询信息在其余检索服务器上进行查询。实现诸多检索服务器中,文档的同时检索功能,进而提高检索的性能与速度。
  2.分布式搜索引擎优势
  分布式搜索引擎,与传统的集中式搜索引擎进行比较,具有显著的优势。首先,各个检索服务器都是独立的,当有检索服务器出现故障的问题,并不会影响其它检索服务器的工作。其次,在每台服务器存储中,其索引数据库数据较少,在进行查询时可以降低查询反应时间,大大提高了管理的方便性。第三,分布式搜索引擎具备较好的可扩展性,同网络资源的分布式特点相符合,便于新机器的添加,同时也提高了维护的便捷性。第四,经由检索服务器之间的合作,各个服务器仅在自身区域中,进行信息资源的检索操作,最终只提供搜索结果信息的传递。因此,分布式搜索引擎可以显著的降低各个服务器的压力,缓解网络拥堵,提高检索速度[5]。
  三、搜索引擎系统的设计与实现
  1.基于Hadoop的搜索引擎系统总体设计
  整个搜索引擎系统,是基于Hadoop 集群框架之上。分别由三个子系统进行搜索引擎的设计与实现[6]。具体的系统功能如图1所示。
  基于 Hadoop 的搜索引擎包括分布式爬行子系统、分布式索引子系统以及分布式检索子系统三个部分,每个系统都可采取MapReduce 的并行模式加以实现,各自可以独立工作,经由接口实现分布式搜索的目的。
  爬行子系统,对网页的采集过程,都是经由Http 协议进行的,包括6大模块,分别为数据库更新;解析;抓取;抓取列表生成;URL集注入;URL集生成。
  索引子系统,主要的目的就是对抓取的网页,建立索引同时进行有效解析。主要包括5个模块,分别为索引存储;索引生成;内容评分排序;中文分词处理;非结构化文档解析。
  检索子系统,主要用于形成前台搜索界面,对于用户的查询请求进行有效接收,同时进行处理,实现内容查询功能。最后将查询的结果,返回到用户界面。总体包括2 个模块,分别为前台用户界面、后台数据处理。系统总体架构图,具体如图2所示。
  2.搜索引擎系统的实现
  首先,爬行子系统在因特网上进行文件的下载,通过解析、去重抓取的网页,并将页面数据、提取的链接,分别保存在URL 信息库 CrawlDb 与互联关系库 LinkDb中。同时,通知索引子系统,进行相应的索引。其次,索引子系统,可以对爬行子系统取得的网页数据,进行网页评分;分词处理;文档解析;倒排索引处理。同时运用倒排索引库,进行等待检索操作。最后,,用户经由前台界面,进行检索请求,检索子系统运用分词处理模块,进行输入字符串的分析,并运用倒排索引库中进行检索,把结果进行排序后回馈给客户[7]。整个搜索程序,包括4 个数据库。分别为Index数据库;Segments 数据库;LinkDb 数据库;CrawlDb 数据库。
  四、结语
  现今,分布式搜索引擎,其技术性较强,可以包括查询结果优化;分布式计算;中文分词;全文检索等功能。面对这一新兴领域,基于Map/Reduce 的编程模型,其在分布式计算方面的潜力不可估量,我们应进行积极的研究,进而为Hadoop分布式计算平台的发展,提供更为广阔的发展空间。任何技术与平台,在使用的过程中都会存在一定的缺陷,Hadoop 平台中在调度算法与任务分割方面,也存在一定程度的问题。诸如会出现部分Slave 节点满载,而部分节点空闲的状况。在未来的发展本文由毕业论文网收集整理之中,我们应引进智能的动态均衡机制,有效利用节点计算功能,在网页评分策略、中文分词方面进行有效的改革,进而建构出搜索准确率高、性能更好的分布式搜索引擎[8]。 转载请注明来源。:   


  本文关键词:基于Hadoop的分布式搜索引擎研究与实现,由笔耕文化传播整理发布。



本文编号:153198

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/sousuoyinqinglunwen/153198.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户58f52***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com