(计算机应用技术专业论文)基于ajaxlucene的站内搜索技术研究.pdf_第1页
(计算机应用技术专业论文)基于ajaxlucene的站内搜索技术研究.pdf_第2页
(计算机应用技术专业论文)基于ajaxlucene的站内搜索技术研究.pdf_第3页
(计算机应用技术专业论文)基于ajaxlucene的站内搜索技术研究.pdf_第4页
(计算机应用技术专业论文)基于ajaxlucene的站内搜索技术研究.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机应用技术专业论文)基于ajaxlucene的站内搜索技术研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉理工大学硕士学位论文 摘要 站内搜索引擎是找出网站重要信息的必要工具,高效的站内搜索将有助于 提升网站的价值,发挥网站应有的作用。虽然现在一些网络巨头已开始研究并 应用这类工具,但整个互联网行业中,受制于技术的门槛,真正的站内搜索技 术还没有被广泛的普及。因此,研究并开发站内搜索引擎具有重要的现实意义。 本文主要研究与站内搜索相关的技术和方法,主要包括全文检索、l u c e n e 、 a j a x 、网络蜘蛛、中文分词等内容。在学习研究的基础上,设计并实现了一个站 内搜索引擎;测试结果表明,该引擎具有实用价值。 本文第一部分首先阐述了搜索引擎的相关概念,搜索引擎按照技术原理可 以分为三类:全文检索引擎、目录搜索引擎和元搜索引擎,本文主要是研究全 文检索引擎。国内许多全文检索系统,其实现都是基于关系数据库开发的,或 者是使用通用数据库系统提供的全文检索功能开发的,存在查询速度慢和无法 处理非结构化数据等很多弊端。所以本文的研究采用了全文索引文件库。 接着,分析了全文检索工具包l u c e n e 的系统结构、数据流、索引格式等等。 然后,研究了a j a x 框架,a j a x 技术的出现正在改变着b s 结构的应用模式,它 正在将我们带入到下一代的网络应用之中。系统的前端搜索界面采用了a j a x 技 术,带来了更好的用户体验。 然后,是本文的主要工作:分析和设计站内搜索引擎系统。对总体架构的 搭建、具体分模块的设计进行了详细的分析。接着,对构建站内搜索引擎中的 几个关键问题进行了研究与改进。包括:设计出一种适合站内搜索的网络蜘蛛; 选用合适的h t m l 解析器解析出网页中的文本信息;对l u c e n e 自带的中文分词 算法进行了改进;对l u c e n e 排序算法做了改进:为了更好的体现出网页各部分 内容的比重关系,在系统中引入词频位置加权算法的思想。 最后,我们用e c l i p s e 开发平台,结合几种开源a p i ,实现了w 曲站内搜索 引擎系统。为了使系统界面更加友好、访问速度更快,系统界面设计采用了新 技术广一a j a x ,最后对系统进行了测试。测试结果表明,该站内搜索引擎系统完 全能满足对中小型网站的站内搜索要求。 关键词:全文检索,l u c e n e ,a j a x ,网络蜘蛛,中文分词 a b s t r a c t aw e b s i t es e a r c h e n g i n e i st h ee s s e n t i a lt o o lt od i s c o v e rt h ei m p o r t a n t i n f o r m a t i o nw i t h i naw e b s i t e ,s oa ne f f i c i e n tw e b s i t es e a r c he n g i n ew i l le n h a n c et h e v a l u eo ft h ew e b s i t e a l t h o u g hs o m en e t w o r kg i a n t sh a v es t a r t e dt ot a k et h i sr o a d ,b u t i nt h ee n t i r ei n t e r n e ti n d u s t r y , r e s t r a i n e dt ot h et h r e s h o l do ft e c h n o l o g y , t h er e a l w e b s i t es e a r c he n g i n et e c h n o l o g yi sn o tp o p u l a r s oi ti sp r a c t i c a l l ys i g n i f i c a n tt o s t u d ya n dd e v e l o pw e b s i t es e a r c he n g i n e s o m er e l a t e dt e c h n o l o g i e sa b o u tt h ew e b s i t es e a r c he n g i n ea r es t u d i e di nt h i s t h e s i s ,i n c l u d i n gf u l l t e x tr e t r i e v a l ,l u c e n e ,a j a x , s p i d e r , c h i n e s es e g m e n ta n ds o o n b a s e do nt h e s et e c h n o l o g i e s , aw e b s i t es e a r c he n g i n e i s d e s i g n e da n d i m p l e m e n t e d t h et e s tr e s u l ti n d i c a t e st h a tt h i se n g i n ei su s e f u l i nt h i st h e s i s ,s o m er e l a t e dc o n c e p t so fs e a r c he n g i n ea r ei n t r o d u c e df i r m l y t h e s e a r c he n g i n ec a nb ed i v i d e di n t ot h r e ek i n d sa c c o r d i n gt ot h et e c h n o l o g yb a s e d :t h e f u l l t e x tr e t r i e v a le n g i n e , t h es e a r c hd i r e c t o r ya n dt h em e t as e a r c he n g i n e w e m a i n l ys t u d yt h ef i r s to n e m a n y d o m e s t i cf u l lt e x tr e t r i e v a ls y s t e m sa r eb a s e do nt h e r e l m i o n a ld a t a b a s e ,o ru s eac o m m o nd a t a b a s es y s t e mp r o v i d e db yt h ef u l l - t e x ts e a r c h f u n c t i o n s ,t h e s es y s t e m sa r ee n q u i r e ds l o w l ya n dc a l l td e a lw i t hu n s t r u c t u r e dd a t a , a n da l s oh a v em a n yo t h e rd i s a d v a n t a g e s t h e r e f o r e ,t h ef u l lt e x to ft h ed o c u m e n t i n d e x i n gi su s e di nt h i st h e s i s t h e n , a sa f u l l t e x tr e t r i e v a ls y s t e m , l u c e n ei ss t u d i e d ,i n c l u d i n gi t sa r c h i t e c t u r e , d a t af l o w i n d e xf o r m a t sa n ds oo n t h ea ja xf r a m e w o r ki sa l s os t u d i e di nt h i st h e s i s t h ee m e r g e n c eo fa j a xt e c h n o l o g yi sc h a n g i n gt h em o d eo fb ss t r u c t u r ea p p l i c a t i o n , w h i c hl e a d su st ot h en e x tg e n e r a t i o no fn e t w o r ka p p l i c a t i o n s t h e r e f o r e ,a j a xi su s e d i nt h es e a r c he n g i n es y s t e m , w h i c hm a k e st h ei n t e r f a c em o r eu s e r f r i e n d l y t h e n , a st h em a i nw o r ka b o u tt h i st h e s i s ,aw e b s i t es e a r c he n g i n es y s t e mi s a n a l y z e d a n d d e s i g n e d ,i n c l u d i n gt h e o v e r a l la r c h i t e c t u r eo ft h es t r u c t u r ea n d s u b m o d u l e s s e v e r a lk e yp r o b l e m so ft h es e a r c he n g i n ea r es t u d i e da n di m p r o v e d , m c l u 。d l n gd e s i g n i n ga na p p r o p r i a t es p i d e rf o rt h ew e b s i t e ,c h o o s i n gt h ea p p r o p r i a t e h t m l p a r s e rt oa n a l y s i st h et e x t ,i m p r o v i n gl u c e n e sc h i n e s es e g m e n ta l g o r i t h m , i m p r o v i n g l u c e n e s s o r t i n ga l g o r i t h m ,a n du s i n gf r e q u e n c yp o s i t i o n w e i g h t e d a l g o r i t h mt ob e r e rr e f l e c t t h ep r o p o r t i o no fr e l a t i o n sa b o u td i f f e r e n tp a a so ft h e c o n t e n t si nt h ew e b s i t e f i n a l l y ,aw e b s i t es e a r c he n g i n es y s t e m i si m p l e m e n t e d ,w h i c hu s e se c l i p s e d e v e l o p m e n tp l a t f o r mc o m b i n i n gs e v e r a la p i s i no r d e rt om a k et h es y s t e mm o r e u s e r - f r i e n d l ya n db ef a s ta c c e s s e d ,t h es y s t e m si n t e r f a c ei sd e s i g n e dw i t ha j a x , a n d t h e nt h es y s t e mi st e s t e d t h et e s tr e s u l ts h o w st h a tt h es e a r c he n g i n es y s t e me n t i r e l y m e e t st h er e q u i r e m e n t st os e a r c hs m a l la n dm e d i u m - s i z e dw e b s i t e k e y w o r d s :f u l l - t e x tr e t r i e v a l ,l u c e n e ,a x ,s p i d e r ,c h i n e s es e g m e n t i 独创性声明 本人声明,所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 研究生签名:盈堕 日期 关于论文使用授权的说明 渺浮s 心 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅:学校可以公布论文的全部内容, 可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 、 嗽。 节 l 期丝:519 武汉理工大学硕士学位论文 第1 章引言 1 1搜索引擎简介及其发展史 1 1 1 什么是搜索引擎 随着网络信息资源的急剧增长,人们越来越多地关注如何快速有效地从海 量的网络信息中,抽取出潜在的、有价值的信息,使之有效地在管理和决策中 发挥作用。搜索引擎( s e a r c he n g i n e ) i l 儿2 】技术解决了用户检索网络信息的困难, 这项技术正成为计算机科学界和信息产业界争相研究、开发的对象。 搜索引擎是指因特网上专门提供查询服务的一类网站,这些网站通过网络搜 索软件( 又称为网络搜索机器人) 或网站登录等方式,收集因特网上大量网站 的页面,经过加工处理后建库,从而能够对用户提出的各种查询做出响应,提 供用户所需的信息【3 】f 4 】。 1 1 2 搜索引擎的发展史 1 9 9 0 年以前,没有任何人能搜索互联网。搜索引擎的祖先,是1 9 9 0 年由 m o n t r e a l 的m c g i l lu n i v e r s i t y 学生a l a ne m t a g e 、p e t e rd e u t s c h 、b i l lw h e e l a n 发 明的a r c h i e ( a r c h i ef a q ) 。当时w o r l dw i d ew e b 还未出现。a r c h i e 是第一个自动 索引互联网上匿名f t p 网站文件的程序,但它还不是真正的搜索引擎。a r c h i e 是一个可搜索的f t p 文件名列表,用户必须输入精确的文件名搜索,然后a r c h i e 会告诉用户哪一个f t p 地址可以下载该文件。由于a r c h i e 深受欢迎,受其启发, n e v a d as y s t e mc o m p u t i n gs e r v i c e s 大学于1 9 9 3 年开发了一个g o p h e r ( g o p h e r f a q ) 搜索工具v e r o n i c a ( v e r o n i c af a q ) 。j u g h e a d 是后来另一个g o p h e r 搜索工 具。由于专门用于检索信息的r o b o t 程序像蜘蛛( s p i d e 0 - - 样在网络间爬来爬去, 因此,搜索引擎的r o b o t 程序被称为s p i d e r 程序。世界上第一个s p i d e r 程序, 是m i tm a t t h e wg r a y 的w r o r l dw i d ew e bw a n d e r e r ,用于追踪互联网发展规模。 刚开始它只用来统计互联网上的服务器数量,后来则发展为也能够捕获网址 ( u r l ) 。 武汉理工大学硕士学位论文 1 9 9 4 年1 月,第一个既可搜索又可浏览的分类目录e i n e tg a l a x y ( t r a d e w a v e g a l a x y ) 上线。 1 9 9 4 年4 月,美籍华人j e r r yy a n g ( 杨致远) 和d a v i df i l o 共同创办了y a h o o 。 随着访问量和收录链接数的增长,y a h o o 目录开始支持简单的数据库搜索。因为 y a h o o 的数据是手工输入的,所以不能真正被归为搜索引擎,事实上只是一个可 搜索的目录。 1 9 9 4 年初,w a s h i n g t o n 大学c s 学生b r i a np i n k e r t o n 开始了他的小项目 w e b c r a w l e r ( b r i a np i n k e r t o na n n o u n c e st h ea v a i l a b i l i t yo f w e b c r a w l e r ) 。1 9 9 4 年 4 月2 0 日,w e b c r a w l e r 正式亮相时仅包含来自6 0 0 0 个服务器的内容。w e b c r a w l e r 是互联网上第一个支持搜索文件全部文字的全文搜索引擎,在它之前,用户只 能通过u r l 和摘要搜索,摘要一般来自人工评论或程序自动取正文的前1 0 0 个 字。 l y c o s 是搜索引擎史上又一个重要的进步。c a r n e g i em e l l o nu n i v e r s i t y 的 m i c h a e lm a u l d i n 将j o h nl e a v i t t 的s p i d e r 程序接入到其索引程序中,创建了l y c o s 。 1 9 9 4 年7 月2 0 日,数据量为5 4 0 0 0 的l y c o s 正式发布。除了相关性排序外,l y c o s 还提供了前缀匹配和字符相近限制,l y c o s 第一个在搜索结果中使用了网页自动 摘要。 1 9 9 5 年,一种新的搜索引擎形式出现了元搜索引擎( am e t as e a r c h e n g i n e ) 。用户只需提交一次搜索请求,由元搜索引擎负责转换处理后提交给多 个预先选定的独立搜索引擎,并将从各独立搜索引擎返回的所有查询结果,集 中起来处理后再返回给用户。第一个元搜索引擎,是w a s h i n g t o n 大学硕士生e r i c s e l b e r g 和o r e ne t z i o n i 开发的m e t a c r a w l e r 。元搜索引擎搜索效果始终不理想, 没有哪个元搜索引擎有过强势地位。 1 9 9 5 年1 2 月,d e c 的a l t a v i s t a 问世,大量的创新功能使它迅速到达当时 搜索引擎的顶峰。a l t a v i s t a 最突出的优势是它的速度。a l t a v i s t a 是第一个支持 自然语言搜索的搜索引擎,它是第一个实现高级搜索语法的搜索引擎( 如 a n d ,o rn o t 等) 。用户可以用a l t a v i s t a 搜索n e w s g r o u p s ( 新闻组) 的内容并 从互联网上获得文章,还可以搜索图片名称中的文字、搜索t i t l e s 、搜索j a v a a p p l e t s 、搜索a c t i v e xo b j e c t s 。a l t a v i s t a 也声称是第一个支持用户自己向网页索 引库提交或删除u r l 的搜索引擎,并能在2 4 小时内上线。a l t a v i s t a 最有趣的 新功能之一,是搜索有链接指向某个u r l 的所有网站。 2 武汉理工大学硕士学位论文 介绍搜索引擎,必须提到g o o g l e 。现在上网几乎每天都用到g o o g l e 搜索。 在1 9 9 8 年1 0 月之前,g o o g l e 只是s t a n f o r d 大学的一个小项目b a c k g u b 。1 9 9 5 年博士生l a r r yp a g e 开始学习搜索引擎设计,于1 9 9 7 年9 月1 5 日注册了 g o o g l e c o r n 的域名,1 9 9 7 年底,在s e r g e yb r i n 和s c o t th a s s a n 、a l a ns t e r e m b e r g 的共同参与下,b a c h r u b 开始提供d e m o 。1 9 9 9 年2 月,g o o g l e 完成了从a l p h a 版到b e t a 版的蜕变。g o o g l e 在p a g e r a n k 、动态摘要、网页快照、d a i l y r e f r e s h 、 多文档格式支持、地图股票词典寻人等集成搜索、多语言支持、用户界面等功 能上的革新,像a l t a v i s t a 一样,再一次改变了搜索引擎的定义。 我们国家的第一个中文搜索引擎是从北大天网开始的。北大天网是国家“九 五一重点科技攻关项目“中文编码和分布式中英文信息发现 的研究成果,由 北大计算机系网络与分布式系统研究室开发,于1 9 9 7 年1 0 月2 9 日正式在 c e r n e t 上提供服务。2 0 0 0 年初成立天网搜索引擎新课题组,由国家9 7 3 重点 基础研究发展规划项目基金资助开发,利用教育网优势,有强大的r p 搜索功能。 目前,国内最有影响的中文搜索引擎是b a i d u 。2 0 0 0 年1 月,超链分析专利 发明人、前i n f o s e e k 资深工程师李彦宏与好友徐勇( 加州伯克利分校博士) 在北 京中关村创立了百度( b a i d u ) 公司。2 0 0 1 年1 0 月2 2 日正式发布b a i d u 搜索引 擎。b a i d u 搜索引擎特色包括:网页快照、网页预览预览全部网页、相关搜索 词、错别字纠正提示、新闻搜索、f l a s h 搜索、信息快递搜索。 1 2 搜索引擎分类 按技术原理,搜索引擎大体可分为三大类: ( 1 ) 全文检索引擎 全文检索( f u l l t e x tr e t r i e v a l ) 引擎通过从互联网上提取各个网站的信息( 以 网页文字为主) 来建立数据库,检索与用户查询条件匹配的相关记录,然后按一 定的排列顺序将结果返回给用户。从搜索结果来源的角度,全文检索搜索引擎 又可细分为两种,一种是租用其它引擎的数据库,如l y c o s 引擎。另一种是拥 有自己的检索程序( i n d e x e r ) ,俗称“蜘蛛( s p i d e r ) 程序或“机器人 ( r o b o t ) 程 序,绝大部分搜索引擎都采用这种形式。 ( 2 ) 目录搜索引擎 目录搜索引擎( s e a r c hi n d e x d i r e c t o r y ) 虽然有搜索功能、但在严格意义上算 武汉理工大学硕士学位论文 不上是真正的搜索引擎,仅仅是按目录分类的网站链接列表而已。用户完全可 以不用进行关键词查询,仅靠分类目录也可找到需要的信息。目录搜索引擎中 最具代表性的莫过于大名鼎鼎的y a h o o ( 雅虎) 。国内的搜狐、新浪、网易也都属 于这一类。 目录搜索引擎比r o b o t 搜索引擎需更多的人工干预,其数据库由人工建立。 编辑人员先访问某个w e b 站点,根据内容归类,再把网址、简介、类别等描述 信息存入库中;查询时,搜索软件只需检索这些描述。目录界面般采用分级 结构,用户从基本的大类入口一级级向下访问,直至找到中意的内容;用户也 可利用目录提供的搜索功能直接查询关键词。由于目录依靠人工分类,因此搜 索出的结果往往比r o b o t 搜索引擎更精确,但目录只在保存的站点描述中进行 搜索,站点本身的变化不能及时反映到搜索结果中。 ( 3 ) 元搜索引擎 元搜索引擎p l 的基本思想是:当搜索引擎收到来自客户的查询请求后,自动 将这些查询请求转发给其它多个搜索引擎,并将各搜索引擎返回的查询结果收 集起来进行处理,最终提供给用户。因此,元搜索引擎没有自己的数据,它只 是将返回的结果进行重复排除、重新排序等处理后,作为自己的结果返回给用 户。 元搜索引擎具有查询多个数据库的优势,用户可以只通过依次查询就得到更 完整的信息,并且由于元搜索引擎不需要它们自己漫游w w w ,可以从搜索w e b 的负担中解脱出来,从而把重点放在对查询结果的处理及提高用户接口性能上。 另外,由于元搜索引擎从其它的几个搜索引擎来获得结果,这些结果还可以被 用来比较这些搜索引擎的性能。这类搜索引擎的优点是返回结果的信息量大, 缺点是不能够充分使用原搜索引擎的功能,用户需要更多的筛选。从网络和检 索服务器的角度来看,资源消耗比传统的搜索引擎要高。 1 3 站内搜索的意义 目前互联网世界中存在两大搜索阵营,网络搜索和站内搜索。在互联网初期, 各网站分工不明确、信息资源单薄,网络搜索发挥了其不可替代的作用,聚合 了各网站中有限的信息资源成为大量优势资源,满足用户的需求。在互联网成 长期,多个网络巨头出现并通过不同的定位分工,瓜分互联网不同需求的市场, 4 武汉理工大学硕士学位论文 同时单一网站的信息资源进入海量化,网络搜索的有效价值下降,垃圾信息比 重增大,站内搜索的意义逐渐上升。 国内互联网经过十几年的发展,与现实社会的关联越来越紧密,网站信息的 增长和传播速度也越来越快。网站走差异化发展道路具有可行性,也是一种必 然结果,但这要求网站提供具有特色的服务,事实上很多网站在特色信息采集 方面都相当成功,但由于缺少强有效的站内搜索引擎,用户永远都只会看首页 或相关栏目的第一页,长期积累的高价值信息被尘积在数据库的底部,特色信 息对于用户的“特一、“专 的特点被淡化,信息资源被等同于新闻了。而网站 运营者只好为了追求首页信息的“新、“快 ,疲于奔波在收集最新的信息中, 网站的经营成本上升。 站内搜索也是个性化的需要。个人对于信息的需求,第一是信息的丰富性, 也就是能够获得所想、所需的信息;第二是获得相应的信息,而不是其它无关 的信息,也就是信息需要满足需求,而不是垃圾信息来充斥眼球。第三是获得 的信息具有很好的深度,在特定的时候能够满足对于某一方面信息的深层需求。 第四是在时间上,希望在需要的时候及时的获得所想要的信息。 1 4 本文的主要工作 本文主要是研究构造站内搜索引擎中要用到的一些技术,然后,在研究的基 础上进行运用和改进,最终构建一个高速的、全面的站内搜索引擎系统。 目前,许多网站都提供了站内搜索引擎,用于浏览者查询网站w e b 内容, 由于w e b 页面的设计是基于t m l 语言的,传统的h t m l 语言侧重于定义数据 的显示格式,对内容的支持非常简单,所以基于h t m l 的搜索引擎的设计通常 必须借助于数据库。数据库的引入在为搜索引擎的实现带来便利的同时,也存 在一些局限,这主要表现在:搜索引擎依赖于数据库,网站搜索信息的存储和 管理必须通过数据库的管理实现,而且难以动态更新,大量信息的录入和更新 需要人工完成;数据库存储方式处理非结构信息能力有限;数据存储占用存储 空间较大,查询速度较慢等。 鉴于上述缺点,本文主要研究全文检索引擎。本研究脱离传统的关系数据库, 建立专用的文件数据库,对网站的信息进行检索,达到站内搜索的目的。 本文研究的主要内容: 武汉理工大学硕士学位论文 ( 1 ) 分析全文检索技术,研究全文文件数据库的设计,将其与关系数据库进行 比较。 ( 2 ) 对全文检索框架l u c e n e 进行研究,在其基础上进行二次开发,构造站内 搜索引擎系统,提高站内搜索的查全度和查准度。 ( 3 ) 研究a j a x 框架,分析了其核心技术。并将其与传统的w e b 模式对比研究。 ( 4 ) 详细分析了设计站内搜索引擎过程中的几个关键问题,包括网络蜘蛛、 h t m l 解析、权值问题、中文分词和网页排序。 ( 5 ) 实现站内搜索引擎系统,前端界面设计采用a j a x 技术,很好的体现了前 台界面和后台运转的分离,能够提高用户搜索的速度,并且有更好的用户体验。 最后,对系统的性能进行了测试。 1 5 论文组织 本文后续章节组织如下: 第2 章首先介绍了全文检索引擎的基本原理,然后研究l u c e n e 全文检索框 架的结构、格式及其主要功能。 第3 章详细分析了a j a x 框架;它的应用和特点及优势;以及核心技术。 第4 章分析站内搜索引擎系统设计及其一些关键技术,对站内网络蜘蛛进行 了分析设计;对提取h t m l 文本信息的方法进行了研究;分析了建立索引过程 中的权值问题;对中文分词进行了比较全面的论述;对l u c e n e 排序算法进行了 改进研究。 第5 章论叙了站内搜索引擎系统的具体实现,并且对系统性能进行了测试。 第6 章对研究工作进行了总结,提出了进一步研究工作的设想。 6 武汉理工大学硕士学位论文 第2 章全文检索和l u c e n e 框架的分析与研究 2 1全文检索 2 1 1 全文检索的含义和特点 全文检索 6 1 1 7 1 是一种面向全文、提供全文的新型检索技术。国外多从实际角 度来理解全文检索,认为它是基于文献内容进行数字化文档的查询处理,为全 文集合建立一个能精确定位每个字词的索引,克服了传统顺序索引在多文献集 合和复杂查询条件下检索效率低的不足。一些系统还能够将检索结果根据引文 数量等因素进行相关性排序。 全文检索是一个较新的技术,近年来发展迅速,其理论基础还不够完备,或 者说还随着技术更新。各种概念定义之间还存在着相互重叠交叉。就其概念的 内涵定义如下【7 j : ( 1 ) 全文数据库 全文数据库是一种相对新颖的强密度型数据库,它是指存储文献全文或其主 要部分并能提供全文检索的源数据库,它可以是单一文献,如字典、法律条文、 经典著作等,也可以是许多文献的集合,如新闻报道、期刊、学位论文等。全 文数据库的结构不像关系数据库那样有明确的定义,而是随全文检索软件不同 而不尽相同。 ( 2 ) 全文检索技术 全文检索技术是对文献全文内容进行字符串的匹配检索,包括字符串检索、 截词检索、布尔检索、位置检索等技术。 ( 3 ) 全文检索系统 全文检索系统首先必须具有一个全文数据库,在此基础上,采用相应的全文 检索技术对全文库进行编辑、加工、与检索。系统所能实现的检索功能达到何 种程度则由系统设计和实现的技术而定。一个完整的全文检索系统由全文数据 库和全文检索技术这两个核心部分构成。 与传统的书目数据库、事实数据库相比较,全文数据库有以下特点: 7 武汉理工大学硕士学位论文 ( 1 ) 数据结构的非结构性。传统的书目数据库是结构化的数据库,而全文数据 库存取的各文献长度不一,采用结构化字段存放,不仅浪费空间,而且其检索 速度也是难以忍受的。 ( 2 ) 信息检索的彻底性、准确性、全面性。传统检索系统对文献所提供的存取 点仅限于若干可检字段,而全文检索可对文中任何字、词、旬进行检索,如网 页中的全部内容和信息。 ( 3 ) 所用检索语言的自然性。不作标引,借助截词、邻接等匹配方法,以自然 语言检索所需文献。这是与传统主题词检索方法的根本区别。 ( 4 ) 所用信息的原始性。库中信息基本上是未经加工的原始文本,具有客观性。 它将对原始文献的检索、获得与浏览融为一体,因而具有直接性。 ( 5 ) 系统制作的高效性。由于避免了传统检索系统复杂的受控标引过程,系统 对文献只需不多的加工,就能提供可检索的联机数据库。另外,全文系统的信 息源来自各种形式的电子文本,系统只需把这些文本整理成标准形式,即可迅 速发布,易于自动化。 2 1 2 全文检索基本原理 全文检索主要由两方面的核心技术结合而实现【8 】1 9 】:一是建立和维护索引库, 二是提供快速有效的检索机制。因而在设计时,要针对实际应用,确定索引库 的数据结构和存储方式,以及如何从原始文档中( 例如网页) 抽取信息,保存到索 引库中,通过索引库即可进行全文数据库的组织和索引。下面以技术最成熟、 应用最广泛的、基于字表的倒排表法为例,简单介绍一下全文检索的基本流程 和实现原理【l 们。 ( 1 ) 扫描源文档,建立索引库 建立一个全文检索系统,首先要将源文档转换为能够进行文本查找的全文数 据库,包括全文的分割处理以及规范格式等,这称为前处理工作。前处理完成 后,即可开始建立索引,先过滤掉源文档中的排版符号,格式控制符等,再把 源文档中的每一个字的出现位置信息记录到索引库中,索引库对每个不同的字 符都保存一个字表,记录同一个字在文档中的所有出现位置。建库时只要扫描 所有文档,将读到的每个字符的位置信到对应的字表中即可。字表是索引库中 最主要的部分,在每个汉字字符对应的字表中,包含该字符所在文档中的全部 位置。为了区分每个位置值属于哪个文档,每个字符的字表被分个字表段,每 8 武汉理工大学硕士学位论文 段对应一个文档,记录该字符在此文档中的出现位置。字表采用倒排结构,如 图2 1 所示。 字表段l字表段2字表段i 文档编号字频位置序列 图2 1 字表及字表段结构 ( 2 ) 实现全文检索 检索功能的实现就是基于索引库的位置匹配。例如对于一个检索词“湖北武 汉一首先是找到这四个字相应的索引序列,然后进行匹配运算。假设“湖字 在数据块中出现的位置为第n 个文档中第k 个字节,如果要命中,则“北一字 必定也在第n 个文档,而位置则是第k + 2 个字节。同理,“武一字的位置应该 与“北一字相差两个字节,为第n 个文档中的第k + 4 个字节,“汉一字为第l ( + 6 个字节。检索的过程应该如图2 2 所示: l 文件头( “湖”)n ( k ) 、 i 文件头( “北)n ( k + 2 ) , 文件头( “武”)n 耐4 ) 、 文件头( “汉 )n ( k + 6 ) 图2 - 2 索引数据库的检索 9 武汉理工大学硕士学位论文 2 2 全文数据库的设计 2 2 1 全文数据库的核心功能 在全文数据库中,文本数据库是存放源文档的地方,对其建索引产生索引文 件,当用户从索引文件中检索出符合自己需要的文本时,再从文本数据库中取 得该文本返回给用户1 1 0 j 。文本数据库必须实现以下功能: ( 1 ) 存储文档。 ( 2 ) 当文档插入、更新时通知系统更新全文索引库。 ( 3 ) 读取文档。 目前构造全文数据库主要有以下两种方式:使用关系数据库系统或使用文件 系统。以下就围绕其核心功能,分析、对比使用不同的方式来构造文本数据库 优缺点。 2 2 2 使用关系数据库系统构建的弊端 关系数据库几乎是当前数据库系统的标准,关系语言与常规语言一起几乎可 完成任意的数据库操作。但其简洁的建模能力、有限的数据类型、程序设计中 数据结构的制约等已经逐渐成为关系型数据库发挥作用的瓶颈。 关系数据库方案使用数据库存储文本和倒排索引表,通过标准的数据库访问 接口实现存储,修改,删除文本的功能。再通过s q l 语言在索引表中查询,也 可以实现全文检索功能。 国内许多研究全文检索的文献,其系统的实现都是基于关系数据库开发的, 或者是使用通用数据库系统提供的全文检索功能开发的。 基于关系数据库、使用结构化查询语言s q l 实现全文检索,效率不会很高, 这是因为: ( 1 ) 查询速度慢 全文数据量大,检索范围广,关系数据库管理系统( r o a m s ) 瓶颈在于s q l 语句的执行速度,关系数据库屏蔽了底层系统,呈现给用户的是它的高层接口。 据统计,一条s q l 语句由于要进行编译并进行查询优化,转化为底层语言再执 行,其执行时间至少是l o 毫秒,而全文检索若从数据库中取数据的话,往往需 1 0 武汉理工大学硕士学位论文 要与数据库管理系统( d b m s ) 交互多次,这比起用文件系统基本语句的毫秒级有 着太大的差别。 ( 2 ) 难以处理长短不一、结构各异的非结构化数据。由于关系数据库结构定义 不易改变,数据长度受限制,处理重复字段、子字段以及变长字段时显得不够 灵活,在处理连续信息( 全文信息) 和非结构信息( 重复数据和变长数据) 时无能为 力,只能依靠人工标引,这样会造成空间浪费。 ( 3 ) 维护困难 全文数据量庞大,有很多的位置关系,会产生繁多的表,这在进行插入,删 除,更新时处理繁琐,不易维护。再者,关系数据库系统还要维护事务,表与 表之间的数据依赖,执行效率再打折扣。 国内一些虽称为全文数据库,但其实际上是通过检索放在关系数据库里的结 构化数据,如标题、作者、关键词、文摘等,以获得全文,或者是使用“l i k e k e y w o r d 来模糊查询。在这种基础上实现的全文检索,时空效率低, 检索速度慢【1 1 】。 2 2 3 使用文件系统构建的解决方案 根据全文数据库的特点,我们提出基于文件系统的全文数据库的构建方案: ( 1 ) 文本数据库直接使用文件系统建立。文本的描述数据,根据其来源以其它 形式存放,如x m l 文件、数据文件d a t ,也可以存放在关系数据库中。 ( 2 ) 建索引时,对源文档和其描述数据关联在一起建立索引表,描述数据直接 存入索引表中,对索引表使用相应的索引文件格式存放。 ( 3 ) 使用程序语言实现检索过程,对检索到的描述数据直接从索引文件中取, 源文从其文件系统中取,所有的数据都集成在文件中,检索时,在索引文件中 查找,取数据时,描述数据直接在索引文件中取,正文数据直接链接到源文件。 使用文件系统存储文档建立全文库时,文本的添加,删除,更新可以通过全 文数据库管理系统来实现,因此可以说是实现了一个微型的专门为全文检索设 计的数据库系统。所谓微型的,是因为它只实现数据的增、删、改、查、获取, 而不涉及复杂的事务处理等。它的体系结构如图2 3 所利1 2 l : 武汉理工大学硕士学位论文 图2 - 3 全文数据库体系简图 该方法直接利用操作系统提供的文件系统实现,其建库方便、直接,对软件 环境依赖少,无需后台关系数据库,系统间耦合少。并且可以将文档存放在不 同的机器上,以满足不同规模应用的需要。使用文件系统构建全文数据库的根 据如下1 1 3 】: ( 1 ) 无论关系数据库还是全文数据库最终数据都是以文件的形式存在的。关系 数据库实现的基础也是文件,对数据库的任何操作最终还是要转换为对文件的 操作。当前主流的关系数据库是文件系统的发展。文件系统中每个文件存储同 质实体的数据,各文件是孤立的,没有体现实体之间的联系。关系数据库中, 数据的物理组织必须体现实体之间的联系,支持数据库的逻辑结构,因此数据 库要存储四方面的数据:数据描述( h p 数据外模式,模式,内模式) 、数据本身、 数据之间的联系和存取路径,这四个方面的数据都要采用一定的文件组织方式 组织存储起来。而全文数据库可以说是介于文件系统和关系数据库之间的体系 结构,它一般包含的实体少,实体间的关联也少,结构相对简单,对事务性和 并发性要求不高。所以一般情况下,基本的检索过程应采用文件系统来实现, 这样使得查询直接、快速,有效提高执行速度。 ( 2 ) 全文数据库不需要事务支持 全文数据库系统的操作主要是读数据,写操作主要是插入新数据,删除和修 改几乎没有。而插入数据往往是间隔一段日期,待积累了一定的新文献后才进 行。而且即使有数据插入,也不需要锁住读操作,因为用户只是查询文献,暂 武汉理工大学硕士学位论文 时看不到新加入的内容,以往的数据照样可以使用。所以,全文数据库根本不 需要事务支持,而对事务的管理恰恰是很费时间的,这样全文数据库在效率上 就能得到很大提高。 2 3 全文索引的组织 最初的全文检索是通过在文本中逐个字符扫描匹配完成的,即扫描表中每个 文档中字的信息直到找出所有包含查询关键字的文档,如图2 - 4 所示。这种正排 表结构没有全文索引这样的辅助数据,当文本变得相当大,而且当人们对全文 检索的需求变得多时,这种顺序比较的效率就很低1 1 2 1 。 l 文档,h w 。r d l hw 。地h r i 文档,h w 。r d l h w 。r d 2 h 1r i 图2 4 正排表结构 w o r d l h 文档l h 文档2h w 。r d 2 h 文档lh 文档2h 图2 - 5 倒排表结构 人们受到图书馆的书目索引的启发提出了全文索引的思想,从书目索引延伸 武汉理工大学硕士学位论文 处理的方法就是现在应用广泛的倒排表索引模型,如图2 5 。倒排索引是以全文 中所有可检索项( 包括字段信息、任意字词) 建立一个或多个索引。索引文件和倒 排文件在物理上是分开的,逻辑上也可组合成为倒排索引文件。在索引中,每 条记录包含索引词以及与该词有关逻辑记录号或指针。倒排文档中还可加入文 献中各个词的位置信息,包括逻辑记录号、段号、行号等。检索时,由索引文 件指向倒排文件,倒排文件指向主文件。倒排序索引的基本结构如图2 - 6 : 2 4l u c e n e 工具包 图2 - 6 倒排序文件索引结构 2 4 1l u c e n e 工具包简介 本文采用的是l u c e n e 1 4 , 1 5 , 1 6 , 1 7 】工具包,它并不是一个完整的全文检索应用, 而是一个基于j a v a 技术的开放源代码的全文检索引擎工具包,它可以方便地嵌 入到各种应用中实现针对应用的全文索引检索功能。l u c e n e 工具包中大量地使 用各种设计模式,使得应用接口设计灵活。用户可以利用这些接口,定制出适 合自己需要的语言分析器、查询分析器、检索器。l u c e n e 早先发布在 h t t p :w w w 1 u c e n e c o r n ,后来发布在s o u r c e f o r g e 上,2 0 0 1 年底成为a p a c h e 基金 会j a k a r t a 的一个子项目

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论