




已阅读5页,还剩61页未读, 继续免费阅读
(计算机系统结构专业论文)教育资源共享系统中全文检索技术的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 教育资源的共享技术已经成为现代网络教育技术领域的热点。而如何准确定 位和检索到消费者所需要的教育资源是当今信息检索技术研究的关键。 首先,本文探讨了倒排索引、索引构造和维护、索引压缩存储和检索算法等 关键技术。对检索算法进行改进,采用跳跃指针来减少扫描记录的次数,从而加 快检索速度。其次,针对关系数据库对非结构化数据索引和检索速度慢的问题, 提出了全文数据库和关系数据库相结合的数据库设计方案,提高了数据索引和检 索性能,实现了对资源和索引库的有效管理。最后,以l u c e n e 全文检索技术框架 为基础,根据教育资源共享的实际需要,设计了全文检索的技术架构和系统模型, 实现教育资源的定义和分类、数据的加工和处理、索引的建立、全文数据的检索 等主要功能模块,同时对检索结果进行评分排序,实现了具有检索、浏览和下载 功能的教育资源全文检索子系统。实验结果表明索引和检索性能达到了系统的设 计要求。 关键词:资源共享全文检索l u c e n e 倒排索引全文数据库 a b s t r a c t a b s t ra c t e d u c a t i o nr e s o u r c es h a r i n gt e c h n o l o g yh a sb e c o m eaf o c u sr e s e a r c hi nt h ef i e l do f m o d e mn e t w o r ke d u c a t i o n b u th o wt or e t r i e v et h ee d u c a t i o nr e s o u r c e sw h i c ht h e c o n s u m e rn e e d sa c c u r a t e l yi st h ek e yt e c h n o l o g yo fi n f o r m a t i o nr e t r i e v a la r e a f i r s t l y , w es t u d y o nt h ei n v e r t e di n d e xt h e o r y , i n d e xc o n s t r u c t i o na n dm a i n t a n c e , c o m p r e s s i o nt e c h n o l o g ya n dt h er e t r i e v a la l g o r i t h m t h ea u t h o ri m p r o v e st h er e t r i e v a l a l g o r i t h mw h i c hb a s e do nt h es k i pp o i n t e rt or e d u c et h en u m b e ro fs c a n n i n gr e c o r d s , a n da c c e l e r a t e st h er e t r i e v a ls p e e d s e c o n d l y , a g a i n s to nt h ep r o b l e mt h a tt h er e l a t i o n a l d a t a b a s ei sv e r ys l o ww h e ni ti n d e x e sa n dr e t r i e v e st h eu n s t r u c t u r e dd a t a ,ad a t a b a s e d e s i g ns c h e m ai sp r e s e n t e d ,w h i c hc o m b i n e st h e f u l l - t e x td a t a b a s ea n dr e l a t i o n a l d a t a b a s et e c h n o l o g y i ti m p r o v e sd a t ai n d e xa n dr e t r i e v a lp e r f o r m a n c ea n dr e a l i z e st h e e f f e c t i v em a n a g e m e n to fr e s o u r c e sa n di n d e xd a t a b a s e f i n a l l y , f o rt h ea c t u a ln e e d so f t h es h a r i n go fe d u c a t i o n a lr e s o u r c e s ,w ed e s i g nan e wf u l l - t e x tr e t r i e v a lt e c h n o l o g y a r c h i t e c t u r ea n ds y s t e mm o d e l w h i c hb a s e do nt h el u c e n ef u l l t e x t r e t r i e v a l t e c h n o l o g yf r a m e w o r k , r e a l i z et h em a i nf o u rf u n c t i o n a lm o d u l e sw h i c hi n c l u d et h e d e f i n i t i o na n dc l a s s i f i c a t i o no fe d u c a t i o nr e s o u r c e s ,d a t ap r o c e s s i n g ,i n d e xa n df u l l t e x t r e t r i e v a l a tt h es a m et i m e ,w ed ot h er a n k i n gs c o r ef o rt h er e t r i e v a lr e s u l t s t h e e x p e r i m e n tr e s u l t ss h o wt h a tt h ei n d e xa n dr e t r i e v a lp e r f o r m a n c er e a c ht h es y s t e m r e q u i r e m e n t k e y w o r d :r e s o u r c es h a r i n g f u l l - t e x tr e t r i e v a l l u c e n ei n v e r t e di n d e x 缸1 1 t e x td a t a b a s e 西安电子科技大学 学位论文创新性声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在导 师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注 和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果; 也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明 并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:秘- 虚虚1 日期出生 一 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生 在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保留 送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容, 可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后结合 学位论文研究课题再撰写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名:j 蝉 日期塞竺坠二五二 导师签 第一章绪论 第一章绪论 1 1 课题研究背景、来源及现状 1 1 1 课题研究背景及来源 随着互联网技术的快速发展,我们所处的这样一个信息时代产生了大量的数 字信息,这些信息部分是结构化的,如学生的成绩数据、企业员工信息等。而其 它大部分都是非结构化的数据【l 】。这些非结构化数据多是文本数据、视频文件等 一些多媒体数据。对于结构化数据来说,传统的关系数据库【2 】可以很好的对其进 行存储和检索。而对非结构化的数据,尤其是海量的非结构化数据来说,它是无 能为力的,或者说其检索速度令人无法忍受。那么如何高效地存储和检索非结构 化数据,是信息检索【3 】领域面临的一个难题,同时也是研究的热点。 对于海量的非结构化数据的全文检索技术日趋成熟。经过几年的发展,全文 检索从最初的字符串匹配程序已经演进到能对超大文本、语音、图像、视频等非 结构化数据进行综合管理的大型软件。由于内涵和外延的深刻变化,全文检索系 统已经成为新一代信息管理系统的代名词,衡量全文检索系统的基本指标也逐渐 形成规范。 全文检索技术最早出现在美国p i t t s b u r g h 大学1 9 5 9 年建立的法律情报检索 中。互联网兴起后,全文检索技术有了很大的发展。到目前为止,全文检索的应 用领域主要有各种网站的信息检索,数字化图书馆,搜索引擎技术,生物信息学 等 对于教育资源网的信息检索需求来说,无论是建立对外网站与外部接轨,还 是建立对内网站成为内部信息发布平台实现教育资源的信息共享,都需要支持各 种数据和信息格式,满足用户多种的知识检索请求。因此规模日益庞大的教育机 构以及政府网站都有全文检索技术的用武之地。 全文检索( f u l l t e x tr e t r i e v a l ) 就是以文本数据为主要处理对象,基于全文标 引,使用自然语言进行检索的技术。在信息检索领域,全文检索一直是一个比较 复杂的问题。与普通数据库检索所设计的结构化数据查询不同,全文检索不仅要 查询结构化数据,而且还要查询非结构化数据,比起标引检索来,全文检索提供 了全新的,强大的检索功能,方便多角度、多侧面的综合利用信息资源。当今, 以全文检索为核心技术的搜索引擎己成为网络时代的主流技术之一。 全文数据库【4 】是一种存储文献全文或其主要部分并提供全文检索的源数据 库,是针对非结构化信息处理而发展起来的数据库技术。它将任意文本文件作为 存储对象。由于关系数据库处理的是结构化数据,因此全文数据库与关系数据库 2 教育资源共享系统中全文检索技术的研究 实现的手段以及对全文索引的结构模型完全不同。因此需要理论和实践的研究。 对文本检索的一个重要需求就是响应时间、查全率和查准率【5 j ,这就需要一 个可以快速检索的索引结构。倒排文件作为构建索引的模型,是最常用的,它的 存储设计也是文本检索中的基本问题之一。 远程教育1 6 】以现代的信息技术为手段,以适合远程传输和交互学习的教育软 件为教材,建立起一个现代化教育的新模式,使学生学习不受时间和地域的限制, 教育资源在一定范围内实现了共享。由于教育资源呈现形式的特殊性,很多资源 都是以文本形式出现的,例如试题、课程讲义、电子书、各种文献等等。那么教 育资源消费者需要检索自己感兴趣的教育资源,一个强大的搜索引擎是必不可少 的。由于商业搜索引擎技术门槛非常高,如果完全自主研发,一个公司可能要经 过几年时间的开发和完善才能建立起一套自己的搜索引擎软件。这对于一个个体 组织来说非常困难。l u c e n e 作为a p a c h e 的开源子项目,提供了简单而方便的接 口,可以很方便的嵌入到特定应用系统中。在这样的背景下,教育资源共享系统 的全文检索引擎就采用了l u c e n e 全文检索机制。 l u c e n e 7 】【8 】是一个完全用j a v a t 9 】实现的全文索引引擎工具包,现在已经发展到 了2 3 版本。它可以方便的嵌入到各种应用中实现针对应用的全文索引和检索功 能。已经有很多i a v a 项目都使用了l u c e n e 作为其后台的全文索引引擎,比较著 名的有:( 1 ) j i v e :w e b 论坛系统;( 2 ) e y e b r o w s :邮件列表h t m l 归档浏览 查询系统。( 3 ) c o c o o n :基于x m l 的w e b 发布框架。( 4 ) e c l i p s e :基于j a v a 的开 发平台。 为了更好的实现资源的共享,需要一个强大的资源检索工具。针对这个问题, 作者研究了国内外资源检索技术,结合教育资源的特点,设计和实现了教育资源 共享系统中全文检索子系统。 1 1 2 全文信息检索技术现状 目前国内外对全文检索系统的研究方兴未艾,开源的a p a c h e 的l u c e n e 子项 目掀起了全文检索的热潮,越来越多的开源爱好者加入该组织,为信息检索技术 做出了巨大贡献。同时也有一些比较成熟的商用产品出现。荷兰k 1 u w e ra c a d e m i c p u b l i s h e r s ( k a p ) 公司。该公司提供约6 0 0 0 种高品质的学术期刊的全文检索和 浏览,其中约6 0 0 种通过k l u w e ro n l i n e 提供网上检索和浏览。s d c 公司的o r b i t 系统、i b m 公司的s t a i r s 系统、m a s s a c h u s e t t s 大学智能信息检索中心开发的 i n q u e r y 系统、c o r n e l l 大学的s m a r t 、i b m 的l o t u sn o t e s 系统以及微软的i n d e x s e r v e r 。而随着i n t e r n e t 的飞速发展,全文检索技术的应用日益广泛,i n t e r n e t 上出现的一些著名搜索引擎,如y a h o o 、i n f o s e e k 、l y c o s 等都采用了全文检索技 第一章绪论 术。 相对来说,国内全文检索系统的开发经历了比较曲折的道路,最初的中文全 文检索系统是基于关系数据库的,但是它无法很好支持非结构化的数据检索。几 经周折,中文全文检索系统又转为以文件系统为基础。令人遗憾的是,基于文件 系统的全文检索系统仍然存在许多问题,它的管理不如关系数据那么方便,其安 全性也令人担忧。尽管如此,国内全文检索技术还是取得了很大的发展。从1 9 8 7 年开始北方易宝就开始研发自己的全文检索系统,它们的t r s ( t e x tr e t r i e v a l s y s t e m ) 系统是国内第一家拥有自主版权的中文全文检索系统。其他全文检索系 统还有c n k i 、天宇的c g r s 系统、拓尔思公司的t r s 等。 1 2 信息检索技术面临的挑战 现今信息检索技术面临的如下挑战:( 1 ) 检索的反应速度和查询的准确性。 这要求系统能够从海量数据中迅速获取指定信息同时跟踪信息变化。( 2 ) 用户的 需求不断变化和提高。( 3 ) 个性化服务,系统能够主动向用户推荐并提供个性化 信息服务。( 4 ) 系统的可靠性,没有近乎百分之百的高可靠性,就无法适应n o n s t o p e b u s i n e s s ( 永不停顿电子商务) 等关键业务的苛刻要求。( 5 ) 中文自然语言处理 技术,无论从数据挖掘角度来提高全文检索的查全率和查准率,还是提供更易使 用的自然语言查询接口方面,中文自然语言处理仍然是关键因素。( 6 ) 全文检索 系统的评价。与其他领域一样,我国全文检索技术的研究和系统开发缺乏科学的 评价,国际上t r e cc o n f e r e n c e ( h t t p :t r e c n i s t g o v ) 被认为是最具权威的信 息检索技术评测规范,各国实验室系统、商业系统均积极参加。但国内的系统至 今没有参与。 1 3 本文主要研究内容和工作 作者深入研究了国内外全文检索技术。通过学习a p a c h e 的l u c e n e 源代码, 深入了解全文检索技术是如何实现的。结合教育资源共享技术和教育资源所呈现 出的特殊性,从理论和实践上完成了对全文检索子系统的设计和实现。首先,对 教育资源进行定义和分类,介绍了教育资源共享系统和全文检索子系统的体系结 构以及教育资源共享系统的功能实现。针对现有关系数据库无法对非结构化数据 进行处理和检索问题,设计和实现了关系数据库和基于文件的全文数据库相结合 的数据库系统的设计和开发,该数据库系统既发挥了关系数据库对数据的易于管 理的特性,又解决了数据快速索引和检索的问题。由于采用基于l u c e n e 的全文检 索技术框架,作者对索引的建立【1 0 】,索引的压缩【l 们,数据的检索技术进行详细的 论述,探讨了现有索引压缩存储算法、检索算法及其对它的改进。最后实现了教 4 教育资源共享系统中全文检索技术的研究 育资源的力n - r - 和处理,对资源的索引、索引入库、全文检索和结果发布等各项功 能。 1 4 本文的组织 本文共分为七章。 第一章介绍了全文检索技术的研究背景。包括现有全文检索技术的特点,全 文数据库解决方案,l u c e n e 检索机制的研究现状。同时介绍了教育资源共享系统 的体系特征,在建立全文检索子系统的时候,充分考虑了当前全文检索技术的特 点,采用l u c e n e 作为系统的后台全文检索引擎。 第二章介绍了教育资源管理系统和全文检索子系统的体系结构和技术架构。 对教育资源进行定义和分类。 第三章论述了l u c e n e 全文检索机制,介绍了l u c e n e 的组织结构。3 1 节介绍 了教育资源数据源的解析和索引的建立和全文检索子系统的核心功能,结合 l u c e n e 检索工具,实现全文检索。阐述针对中文的全文检索解决方案,中文信息 检索算法和检索词首字直接匹配算法。 第四章介绍了全文检索关键技术和检索算法改进。4 1 节介绍索引算法和优化 技术,主要论述倒排索引原理以及索引构造和存储压缩算法。4 2 节介绍了检索算 法及其改进,以及评分机制和结果排序。 第五章详细讨论了教育资源共享系统的全文检索子系统的全文数据库的设 计。包括全文数据的核心功能,阐述了现有的关系数据库的弊端,设计实现基于 文件系统的解决方案和关系数据库相结合的数据库系统。这样的数据库解决方案 有利于索引文件的管理,同时索引的建立和减速速度很快。 第六章主要是系统的实现,包括系统的试验环境,系统的技术体系架构,系 统的试验结果,同时对索引构造性能进行测试,最后对系统检索性能进行对比测 试。 第七章对本文所做的工作进行总结并对进一步研究工作进行展望。 第二章教育资源共享体系结构分析与设计 第二章教育资源共享体系结构分析与设计 现代教育技术是以计算机的使用为代表的信息化教育。教育信息化是当代教 育的发展趋势,互联网的出现极大的推进了教育的发展。教育信息化【l l 】是指在教 育过程中,比较全面地运用以计算机多媒体和网络通讯为技术的现代信息技术, 促进教育的全面改革,使之适应信息化社会对教育发展的新要求。 在教育信息化发展过程中,面对新的形势,新的技术,区域教育资源该如何 充分利用,必须从理论上进行深入的研究。教育资源的共享是教育信息化发展过 程中面临的主要问题。资源共享技术中很重要的一个问题就是如何实现资源的检 索。为了让资源消费者更快更准确的发现自己所需要的资源,必须实现一个有效 的资源检索系统。在实现教育资源检索系统之前,本文对教育资源的定义和分类, 教育资源系统体系结构进行详细而深入的探讨。 2 1 教育信息资源定义和分类 随着远程教育的发展,教育资源库建设得到了越来越多的重视和发展。教育 资源建设和资源元数据的各种规范都相继出现,为教育资源的提供了共享的标准。 并且也出了很多应用不同体系结构和技术实现的教育资源共享平台和教育资源 库,在不同的层面实现了资源的有效共享,这些系统为教育信息共享平台的设计 和实现提供了参考的依据。 教育资源建设是教育信息化的基础,是需要长期建设与维护的系统工程。由 于教育资源的复杂性和多样性,使得人们对它的理解各不相同,便会出现大量不 同层次、不同属性的教育资源,因而不易管理和利用。为了更有效地建设好各级 各类教育资源库,促进各个资源系统之间的数据共享,提高教育资源检索的效率 与准确度,保证资源建设的质量,制订教育资源建设规范【1 2 】是十分必要的。 教育资源建设可以有四个层次的含义,一是素材类教育资源建设,主要分八 大类:试题库、试卷素材、试卷素材、媒体素材、文献素材、课件素材、案例素 材、常见问题素材和教育资源索引;二是网络课程建设,它是按照学科知识体系 以及网络教学的要求,对各种教育资源的综合集成;三是资源建设的评价,通过 评价筛选优秀的教育资源;四是教育资源管理系统的开发。在这四个层次中,网 络课程和素材类教育资源建设是基础,是需要规范重点和核心;第三个层次是对 资源的评价与筛选,需要对评价的标准规范化;第四个层次是工具层次的建设, 网络课程和素材类资源的具体内容千变万化,形式各具特色,对应的管理系统必 须适应这种形式的变化,充分利用它们的特色。 6 教育资源共享系统中全文检索技术的研究 教育资源规范界定的教育资源是指:以数字信号在互联网上进行传输的教育 信息,它属于学习对象的一个子集。该规范以学习对象元数据规范( l o m ) 为核心, 并针对不同类型的教育资源的特性的建立了扩展属性集。教育资源的属性用于描 述该资源的相关特征。各类资源的统一特征使用学习对象元数据( l o m ) 进行描述, 资源的特色属性主要根据资源特性分类描述。它的基本结构如图2 1 所示。共包 括三大部分,分别为严格遵守的必须数据元素、作为参考的可选数据元素和针对 资源特色属性的扩展数据元素。 图2 1 教育资源规范基本结构 通过对教育资源规范的分析和了解,本文定义教育资源共享系统资源的分类 如下: 1 媒体素材:媒体素材是传播教学信息的基本材料单元,可分为五大类: 文本类素材、图形( 图像) 类素材、音频类素材、视频类素材、动画类 素材。 2 题库:题库是按照一定的教育测量理论,在计算机系统中实现的某个学 科题目的集合,是在数学模型基础上建立的教育测量工具。 3 试卷素材:各个学科有典型意义的试卷集合。 4 课件与网络课件:课件与网络课件是对一个或几个知识点实施相对完整 教学的用于教育、教学的软件,根据运行平台划分,可分为网络版的课 件和单机运行的课件,网络版的课件需要能在标准浏览器中运行,并且 能通过网络教学环境被大家共享。单机运行的课件可通过网络下载后在 本地计算机上运行。 5 案例:案例是指有现实指导意义和教学意义的代表性的事件或现象。 6 文献资料:文献资料是指有关教育方面的政策、法规、条例、规章制度, 对重大事件的记录、重要文章、书籍等。 7 常见问题解答:常见问题解答是针对某一具体领域最常出现的问题给出 全面的解答。 8 资源目录索引:列出某一领域中相关的网络资源地址链接和非网络资源 第二章教育资源共享体系结构分析与设计 的索引。 9 网络课程:网络课程是通过网络表现的某门学科的教学内容及实施的教 学活动的总和,它包括两个组成部分:按一定的教学目标、教学策略组 织起来的教学内容和网络教学支撑环境。 扩展的数据元素是指资源的分类属性。分类扩展集根据每类资源各自的特点, 提供了资源的分类属性。 媒体素材类集合了对文本类素材、图形( 图像) 类素材、音频类素材、视频 类素材、动画类素材各自不同的技术属性。 试题库类集合了试题的教育测量属性。 课件与网络课件类集合了课件与网络课件内容组织属性。 案例类集合了案例内容组织属性。 文献资料类集合了文献资料有效范性方面的属性。 常见问题解答类集合了问题解答内容组织属性。 资源目录索引类集合了资源目录索引内容组织属性。 网络课程类集合了网络课程内容组织属性。 2 2 教育资源共享系统体系结构 为了充分利用现有的各教育资源提供组织提供的教育资源,将各种教育资源 有层次、有组织、科学地集成起来,并提供一个易用、快捷的应用平台,实现教 育资源的快速查找和高效共享,消除信息孤岛。本文对教育资源共享技术体系结 构【l 副进行深入的研究和探讨,分析各种体系结构的优缺点,选择合适的体系结构 应用到具体的系统中去。 随着教育资源规模不断扩大,资源的种类各不相同,资源的表示也没有一个 统一的标准,使得资源的共享【1 4 】成为远程教育不断发展的障碍。为了进一步缩小 各教育机构之间信息存储、表示的发现,更好、更快地检索到消费者所需要地资 源,本文设计与开发了教育信息共享系统,该系统的整体框架如图2 2 所示: 系统按功能分主要包括以下四个模块:( 1 ) 用户管理模块。主要是对用户的 注册、用户的添加删除、用户权限管理等。( 2 ) 资源管理模块。主要实现资源的 上传、下载、资源的浏览等。( 3 ) 资源检索模块。实现全文数据库管理系统,用 于教育资源的全文索引和检索检索。( 4 ) 系统授权认证模块。主要涉及安全方面 的管理。包括用户授权认证,非法网络攻击保护等。( 5 ) 日志模块。主要记录系 统日常运行情况,系统安全信息统计,用户使用系统的相关信息统计等。在系统 的维护和恢复方面发挥重要作用。 教育资源共享系统中全文检索技术的研究 图2 2 教育资源共享系统框架图 系统的用户包括普通用户( 包括学生、教师和其他教育资源消费者) 、资源管 理员、系统管理员等。这些用户通过w e b 浏览器进入系统登陆界面进入系统进行 相关操作。普通用户根据权限可以浏览资源、检索资源、下载资源等。资源管理 者通过对教育资源库的数据进行加工,产生资源描述文件和资源文本文件,然后 对这些文件建立索引并存入全文数据库。同时通过关系数据库对教育资源进行管 理。系统管理员主要负责用户的管理,日志管理和授权认证等。 第三章l u e e n e 全文检索技术研究 第三章l u c e n e 全文检索技术研究 教育资源共享系统全文检索引擎建立过程非常复杂,面临很多的技术难题; 为了快速开发全文信息检索系统,作者查阅大量的国内外关于全文检索技术的资 料,参考国内外一些全文信息检索系统,例如开源的数字图书馆系统d s p a c e ” 。 熟悉它们系统的建设过程。 l u c e n e 是a p a c h es o f t w a r ef o u n d a t i o n 提供的一个共享的软件开发类库, l u c e n e 不是一个完整的全文索引应用,而是一个完全用j a v a 写的全文索引引擎工 具包,它提供了多个a p i 函数与灵活的数据存储结构可以方便的嵌入到各种应用 中实现针对应用的全文索引和检索功能。现在已经有很多的j a v a 项目都在使用 l u c e n e 作为其后台的全文索引引擎。比较著名的有:j l i v e 、e y e b r o w s 、e e l i p s c 等。 从图3 1 中看到l u c e n e 并不关心它索引韵数据源是什么,只要这些数据可以被 转换为文本格式。例如:远程w e b 服务器上的w e b 页面,存储在本地文件系统内的 文档,简单的文本文件,微软的w o r d 文档,h t m l 或者p d f 等。同时你也可以索引存 储在数据库中的数据,提供关系数据库所没有的可以进行全文搜索的能力。 幽3l 牡台l u c e n e 的骢弛应削 l u c e n e 作为一个优秀的全文搜索引擎,它的体系结构体现了强烈面向对象i ”1 的思想。首先是定义了一个与平台无关的索引文件格式,其次通过抽象方法将系 统的核心组成部分设计为抽象类,具体的平台实现部分设计为抽象类的实现,此 外与具体平台相关的部分比如文件存储也封装为类,经过层层的面向对象式的处 l o 教育资源共享系统中全文检索技术的研究 理,最终达成了一个低耦合高效率,容易二次开发的检索引擎系统【1 7 】【1 8 。 图3 2l u c e n e 体系结构和源码组织结构图 l u c e n e 源码的七个子包及其对应功能见下表3 1 。 表3 1l u c e n e 源码包 包名功能 o r g a p a c h e 1 u c e n e a n a l y s i s 语言分析器,主要用于切词,若要支持中 文可以扩展此包 o r g a p a c h e 1 u c e n e d o c u m e n t 索引存储时的文档结构管理,类似与关系 数据库的表结构 o r g a p a c h e 1 u c e n e i n d e x 索引管理,包括索引的建立、删除等 o r g a p a c h e 1 u c e n e q u e r y p a r s e r 查询分析器,用于查询词间的运算,如与、 或、非等 o r g a p a c h e 1 u c e n e s e a r c h 检索管理,根据查询条件,检索得到结果 o r g a p a c h e 1 u c e n e s t o r e 数据存储管理,主要实现底层的f o 操作 o r g a p a c h e 1 u c e n e u t i l 一些公用的辅助类 从图3 2 可以清楚的看到,l u c e n e 的系统由基础结构封装、索引核心、对外接 口三大部分组成。l u c e n e 将所有源码分为了7 个模块,各个模块所属的系统部分也 如图3 2 所示。从面向对象的观点来看,l u c e n e 应用了最基本的一条程序设计准则: 引入额外的抽象层以降低耦合性。在高度的面向对象理论的支撑下,l u c e n e 的实 现容易理解,易于扩展。 下面各节将按照数据流处理的顺序依次介绍数据源的解析、数据的索引、用 户查询语言解析和全文检索机制,最后将讨论中文切词方案。 第三章l u c e n e 全文检索技术研究 3 1 1 数据源解析 3 1l u c e n e 数据源解析与索引 l u c e n e 并没有规定数据源的格式,而是定义了一个通用的数据结构d o c u m e n t 作为索引的数据源。因此输入的数据源可以是:数据库,w o r d 文档,p d f 文档, h t m l 文档等等,只要能够设计出相应的解析转换器把数据源构造成为d o c u m e n t 对象即可以索引【l 引。 本文中讨论的l u c e n e 版本2 0 只能对t x t 和h t m l 文件进行索引,所以要对 其他的文档进行索引,还必须扩展l u c e n e 的文件内容分析器。本文采用了一系列 免费开源的a p i 程序针对不同的数据源进行转换,使其成为l u c e n e 可以索引的数 据结构。例如,当索引p d f 文档的时候,采用p d f b o x 2 0 】来抽取p d f 文件。表3 2 列举了为索引不同的数据源文件而使用的不同a p i 工具。 表3 2 索引文档类型与a p i i 具列表 要索引的文档类型所使用的a p i 工具 p d f 文档p d f b o x x m l 文档 j d o m ,s a x p a t h 微软w o r d 文档 t e x t m i n i n g 微软e x c e l 文档 j e x c e la p i 微软p o w e r p o i n t 文档 a p a c h ep o i s u n 公司的o p e n o t 五c e 文档 j d o m ,s a x p a t h 3 1 2 索引的建立与全文检索 一个l u c e n e 索引结构核心元素包括:s e g m e n t ( 段) 、d o c u m e n t ( 文档) 、f i e l d ( 域) 、t e r m ( 项) 。每一个索引包括一个或多个段,每一个段包括一个或多个 文档,每一个文档包括一个或多个域,每一个域包括一个或多个项。 一个项有一个字符串对来表示一个域名和一个值。它的这种结构很像数据库 的表、记录、字段这样的结构。所以很多应用文件和数据库都可以映射至l j l u c e n e 的存储结构中去,总体上看,可以把l u c e n e 看成一个支持全文索引的数据库系统。 表3 3 通过比较l u c e n e 和数据库索引结构可以更好的理解l u c e n e 索引结构。 教育资源共享系统中全文检索技术的研究 表3 3l u c e n e 和数据索引结构比较 l u c e n e 数据库 索引数据源: 索引数据源: d o c ( f i e l dl ,f i e l d 2 ,) d o c ( f i e l dl ,f i e l d 2 ,)r e c o r d ( f i e l d1 ,f i e l d 2 ,) 输出结果:输出结果: h i t s ( d o c ( f i e l d lf i e l d 2 ,) d o c ( f i e l d l 。f i e l d 2 ,)r e s u l t s ( r e c o r d ( f i e l d1 ,f i e l d 2 ,) d o c u m e n t :一个需要进行索引的“单元”,一个r e c o r d :记录,包含多个字段 d o c u m e n t 由多个字段组成 f i e l d :字段f i e l d :字段 h i t s :查询结果集,由匹配的d o c u m e n t 组成r e c o r d s e t :查询结果集,由多个 r e c o r d 组成 索引包是整个系统的核心,下面简要介绍l u c e n ei n d e x 包中的主要类。这些 类将用于数据源建立索引过程。i n d e x 包中主要包括i n d e x w r i t e r 、i n d e x r e a d e r 、 s e g m e n t i n f o 、f i l d i n f o 、t e r m 以及段、文档、域和项相关的读写类。其中最重要 的两个类是i n d e x w r i t e r 和i n d e x r e a d e r ,它们的类图及与读写类的关系【2 l 】见图3 3 和3 4 。 i n d e z w r i t e r + d e f a u l tm e r g ef a ( 1 0 rl l l l ;1 0 + d e f a u l j lm a xb u f f e r e dd o c sm t = l o + d e f a u l j m a ) ( b u f f e r e dd e l e r et e r m si m 篁l o + d e f a u l j rm a xf 1 e l dl e n g t h1 1 1 1 = 1 0 0 0 + d e f a u l | tt e r mi n d e x 刑t e r v a l :m tt1 2 8 d r e c t o i 、, 日a l v z c r - s 啪l 扪t v 末指定) = s i m i l 越i w 睇t d e 五m i t ( ) l o c a l r o l l b a e k s e g m e m l n f o s # e n s u r e o l m ( ) v o i d - g e t b s e c o m p o u n d f i l e ( ) :i m o l * g e t s l m i l a n t y ( ) + l n d e x w n t e r o :i n d e x w r i t e r - l i n t ( ) v o i d * s e t m a x m e r g e d o c s o :v o i d * s e t m a x f , e l d l e n g t h ( ) v o i d * g e t m e r g e f a c t o r ( ) m t * c l o s e ( ) v o i d 牟n n a l l z “) v o i d 十a d d d o c u m e n t ( ) v o i d + d e l e l e d o c u r a e n t s ( ) v o i d + u p d a t e d o c u m e n t ( ) v o i d 十o p t i m i z e ( ) v o i d + a d d l n d e x e s f lv o i d + f l u s h r a m s e g m e n t s ( ) v o i d + f l u s h ( 1v o i d + m e r g e s e g m e n t s ( ) + i m 4 - 0 d o c u m e o t w r i t e r - m a x f m l d l e n g t hm t p o s u n g t a b l e - f i e l d l e n g t hl i l t f i e l d p o s r l 0 1 1 1 5h n - f i e l d b c o s t sf l o a t + d o c u m m a t w n t e r ( j + ( ) 图3 3i n d e x w r i t e r 类及其相关类的类图 第三章l u c e n e 全文检索技术研究 霞i-slze 1 ) l l i + d o “)i 。7 k 一 i n d e x r e a d e r s e g m e n t r e a d e r # 1 n d e x r e a d e r ( 1 - s e g m e n ts m n g - d e l e t e d d o c s l ) l r t y :b l + i n d e x r e a d e r ( 1 - n o r m s d i r y t :b 0 0 1 + o p e n ( ) :i n d e x r e a d e r - u n d e l e t e a l l :b o o l + o 口e n ( ) :l n d e x r d e r n o r m s + o p e n ( ) :l n d e x r e a d e r 1 s e g m e n t r e a d e r ( ) + d i r e c t o r y ( ) 、j + m i u a h z e ( ) + l a s t m o d t f i e d ( ) :l o n g + d o c o m m i t ( ) + l a s t m o d i f i e d ( ) :l o n g + d o c l o s e ( ) + l a s t m o d i f i m ( ) :l o n g + h a s d e l e t l o n s ( 1 + g e t c u r r e n t v e r s t o n ( ) :l o n g + u s e s c o r n p o u n d f i l e ( ) + g e t v e r m o n ( ) :l o n g + h a s s e p a r a t e n o r m s ( ) + g e t t e r m f r e q v e e t o r s ( ) + ( ) 十n 图3 4i n d e x r e a d e r 类及其相关类的类图 i n d e x w r i t e r 类用于创建和维护一个索引,为了减少大量的i o 维护操作,在 每得到一定数量的索引后建立新的小索引文件,然后再定期将它们整合到一个索 引文件中,因此在索引结束时必须进行w r i t e r o p t i m i z e0 ,以便将所有索引合并 优化。关于索引的优化和压缩存储技术将在第五章讲述。 i n d e x r e a d e r 类是一个抽象类,它提供一个接口用于访问一个索引。搜索一个 索引完全依靠这个抽象类。因此任何实现这个接口的子类都是可以用于搜索的。 从整体上来看,l u c e n e 建立索引地过程有以下3 步:1 、提取文本;2 、构建 d o c u m e n t ;3 、建立索引。 1 提取文本 为了使用l u c e n e 对不同数据源建立索引,第一步就是要把这些需要建立索引 的文档数据转换成l u c e n e 可以处理的类型。 2 构建d o c u m e n t 构建d o c u m e n t 是索引建立过程的第二步,这一步主要目的就是把不同的数据 源抽取出来组装成l u c e n e 可以识别的格式来为索引的建立做好准备。 l u c e n e 源代码中定义了一个d o c u m e n t 类,是用于索引和检索的单元的数据结 构。d o c u m e n t 类中定义了一个f i e l d 的v e c t o r ,表示一个d o c u m e n t 包括一个f i e l d 的集合。还有一个私有的数据成员b o o s t ,默认值为1 0 。这个数据成员是用于表 示这个文档的重要性,作为检索排序得分公式的一个因子,这将在后面深入讨论。 其他就是一些添加和删除f i e l d 的操作函数等,很简单明了,这里就不再赘述。 f i e l d ( 字段) 是与d o c u m e n t ( 文档) 紧密相连的一个概念,在一个d o c u m e n t 中,它代表了不同数据源名称。然而在现实中,数据源所提供的数据并不是以一 种一成不变的方式进行处理,对于不同字段,人们所希望处理的方式并不相同。 1 4 教育资源共享系统中全文检索技术的研究 对于每个f i e l d ,l u c e n e 提供了三种方式以供用户选择进行处理,这三种方式 分别被称为“是否切词”、“是否索引”、“是否存储”。 ( 1 ) “是否切词”表示在这个f i e l d 中的数据是否需要被切词( 有关切词的 概念将在后续介绍) 。 ( 2 )“是否索引”表示在这个f i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版商场设施更新换代合同范本
- 2025电子商务合同法指导下的网络直播带货合作协议
- 2025年度高端茶叶原产地直供购销合同模板
- 2025灯具批发零售合同示范文本
- 2025版服装生产设备租赁与维修服务合同
- 2025年男方出轨离婚协议:财产分割、子女抚养及离婚赔偿
- 2025年度保险理赔法律援助服务合同样本
- 2025 高密市PPP项目PPP项目合同
- 2025新版中介房屋租赁合同范本
- 语言文字知识培训方案课件
- 物业客服管理知识培训课件
- 2025海南省老干部服务管理中心招聘事业编制人员6人(第1号)考试备考题库及答案解析
- 居民体重管理核心知识课件
- 2025-2026学年湘教版(2024)初中数学八年级上册教学计划及进度表
- 2025至2030中国公安行业发展趋势分析与未来投资战略咨询研究报告
- 口腔医疗风险管理实施方案
- 2025互联网营销师三级理论考核试题及答案
- 新生儿持续性肺动脉高压个案护理
- bbc国际音标教学课件
- GB/T 45763-2025精细陶瓷陶瓷薄板室温弯曲强度试验方法三点弯曲或四点弯曲法
- 贵州省贵阳市2024-2025学年八年级下学期期末道德与法治试卷(含答案)
评论
0/150
提交评论