解析基于Hadoop 的实时文献资料搜索引擎.docVIP

解析基于Hadoop 的实时文献资料搜索引擎.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
解析基于Hadoop 的实时文献资料搜索引擎   一、云平台技术架构   云存储系统提倡存储即服务的理论,提供超强存储能力和计算能力,具有可扩展性好、易访问、资源利用率高、可靠性高的特点,应用越来越广泛。本文构建的高校分布式数据云存储平台的文件实体存储环境为Hadoop 集群,实现了云存储、数据归档、数据实时查询服务三大功能。云存储平台是层次化结构模型,通常可分为五层,从上到下依次是:基础层、存储层、管理层、接口层、终端层。   二、实时搜索引擎关键技术   搜索引擎通过对高校内部各种资源的整合,面向全校用户提供了统一的信息搜索接口,提升资源利用水平。Lucene 是全世界最优秀的全文搜索引擎架构和开发工具包之一,被广泛地用来构建实用的全文搜索应用系统,或被集成于多类软件开发环境之中。然而,Lucene 作为一个通用的搜索引擎开发工具包,在针对高校文献资料搜索及知识发现系统开发方面还存在着许多不足之处,比如大文档集实时搜索速度慢等。   1.实时索引构建。主要由文档解析、分词、建立索引、搜索索引、相关度排序以及各种外围应用子系统等模块组成。实时搜索引擎主要分索引和检索两部分。索引就是对文档进行格式转换、语法分析后,建立索引文件。检索根据已建立的索引对用户的搜索请求进行查找和匹配,并将结果呈现给用户。索引构建模块管理索引的元数据(记录用户表对应的索引表名称、索引列等信息),并实现针对硬盘索引表和缓存索引表构建方法,包括支持索引表和值表的插入、删除、更新操作。硬盘索引表提供索引表和值表的永持久化存储。缓存索引表用来管理索引热点数据的缓存存储、更新和地址映射,实现热度累积缓存替换策略,使得最近频繁访问的数据能缓存到内存中。搜索索引将用户的查询请求经分词处理后,翻译成系统识别的命令,对索引表进行检索并汇总返回至客户端。相关度排序算法用来对搜索结果文档集按照文档的相关性进行排序,给用户呈现最佳搜索结果。   响应速度是搜索引擎的重要指标之一,是影响用户使用的主要方面。从用户体验的角度看,一个检索的响应时间不能超过1 秒钟。对系统来说,获取到用户的查询条件并解析后,在磁盘上根据解析的内容寻找相关记录,再将结果反馈给用户。在完成整个检索的过程中,花费时间最多的是搜索过程,因此在磁盘性能不变的情况下,减少磁盘寻找时间是有效提升响应速度的关键策略。   本文提出以下策略解决此问题:(1)分类索引。在搜索引擎中,用户通常会根据自己的需要对信息进行分类查看。因此,本系统对所有类别信息按照网页、文档、微博等进行分类。搜索引擎可根据用户的兴趣在指定的分类对应的索引中查找即可。(2)分层索引。为了更进一步提高索引访问的速度,本文研究提出了分层索引的方法:将被频繁访问的20%的索引热点数据缓存在内存中,其余80%的数据存放在磁盘中,利用内存的低延时性大幅度提高查询性能。同时,采用热度累积的最近最少(Heat accumulation Least Recently Used,以下简称Ha-LRU)算法对所有的记录计算热度,根据热度排序,将热度排序TOP-K 的集合记录缓存到内存中。采用的Ha-LRU 算法的基本设计思想是周期性地累积缓存索引表被访问的次数,并将访问算法周期性地累积成热度保存在缓存元数据中   2.文献检索。文献检索是指利用Lucene 的全文检索引擎实现文献资料的查询功能,它根据用户输入的查询语句将符合条件的索引信息从索引文件中提取出来,并将结果返回给用户。Lucene 的搜索过程可划分为几个步骤:(1)Lucene获取用户输入的搜索语句并进行分词处理,得到系列检索词。(2)向内存缓存层的服务进程发起查询请求。若命中则返回查询结果。(3)若缓存索引表未命中,则根据分类情况向硬盘索引表的索引表发起查询请求。获取结果后,返回查询得到的结果。(4)对搜索结果文档集进行排序,呈现给用户。   可以看出,如果在缓存索引表命中,整个查询流程都不会访问到磁盘,减少了磁盘访问开销,能够大幅度提高响应速度。另外,在访问硬盘索引表时,根据指定的分类,只需要查询对应的某一类索引表。使用此策略缩小了查询规模,可以加快在分类查询时的速度。   三、实验分析   本系统使用的Hadoop 集群由5 个节点组成,分为1 个Namenode 和5 个Datanode 的集群。配置如表1 所示,其中IBM X3850X5 为Namenode。Hadoop 版本为0.20.2, 操作系统为Ubuntu10.10, 数据库采用Oracle11g。所有节点之间通过千兆以太网完成互联。   1. 构建索引测试。本实验的测试数据集分别是530M、1126M、6374M、13260M。集群采用的就是Hadoop 计算机集群。单机只采用IBM

文档评论(0)

专注于电脑软件的下载与安装,各种疑难问题的解决,office办公软件的咨询,文档格式转换,音视频下载等等,欢迎各位咨询!

1亿VIP精品文档

相关文档