(计算机应用技术专业论文)基于lucene的中英文文档全文搜索引擎.pdf_第1页
(计算机应用技术专业论文)基于lucene的中英文文档全文搜索引擎.pdf_第2页
(计算机应用技术专业论文)基于lucene的中英文文档全文搜索引擎.pdf_第3页
(计算机应用技术专业论文)基于lucene的中英文文档全文搜索引擎.pdf_第4页
(计算机应用技术专业论文)基于lucene的中英文文档全文搜索引擎.pdf_第5页
已阅读5页,还剩90页未读 继续免费阅读

(计算机应用技术专业论文)基于lucene的中英文文档全文搜索引擎.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着互联网的发展,搜索引擎已成为网民获取网络信息的主要工具。在这种 趋势下出现了各式各样的搜索引擎。网络上有一类文档包含了大量信息,这类文 档包括w o r d 、p o w e r p o i n t 、e x c e l 等等。虽然目前存在一些专业的文档搜索引擎 比如北大天网f t p 文件搜索引擎,但这类搜索引擎的检索范围仅限于f t p 文档, 并且只能对文件名进行检索而无法对文档内容进行检索。尽管有少数的大型专业 搜索引擎如b a i d u 、g o 0 9 1 e 实现了对文档内容进行检索的功能,但这些搜索引擎 并不是针对文档的搜索引擎,它们通过解析h 1 u r p 页面的方式来搜集文档,而不支 持对f t p 服务器上的文档资源的搜集,因而损失了大量的资源。此外,对于日益 增长的海量网络数据,检索结果本身就是一个很大的集合,用户很难从这个大集 合中有效地获取信息,因此用户需要更具体更客户化的搜索引擎。 本文设计和实现的中英文文档全文搜索引擎不同于现有的搜索引擎。该文档 搜索引擎对海量网络数据提供了简化性整合,可以灵活地与垂直搜索等技术相结 合。该搜索引擎可以被应用到特定的领域比如对特定网站的文档资源的检索、对 特定行业的文档资源的检索等等。该系统一方面弥补了现有文档搜索引擎信息量 匮乏的缺陷:另一方面,系统“硬件要求低、简洁、灵活、可配置 的特点使其 可以方便地应用到各种具有专门需求的全文检索领域。 本文重点介绍和实现了以下一些方面: 1 系统的总体设计;为提高性能和可扩展性所做的一些局部设计。 2 h t t p 和f t p 爬虫系统。设计并实现了用于抓取特定文档( w o r d , p o w e r p o i n t ,e x c e l ) 的h t t p 和f t p 爬虫系统。详细描述了h t t p 爬虫的总体架构 设计、运行流程、重要组件d n sc a c h e 的设计与实现。阐述了u r l 去重策略的设 计与实现、p o l i t en i c e 抓取处理策略的设计与实现、h t m l 页面解析过程的设计 与实现、文档抓取过程的设计与实现。阐述了f t p 爬虫系统的总体设计和性能优 化方案。阐述了爬虫系统的文件去重功能的设计及实现、文档解析系统的接口设 计及实现。 3 基于a p a c h ep o i 的文档解析模块。介绍了模块总体设计、具体实现、存 摘要 储优化策略。 4 基于1 u c e n e 的检索模块和u i 模块。介绍了l u c e n e 的原理,结合w e b 技 术阐述了检索模块和u i 模块的设计思路和实现方法。 文章最后对系统的工作效果和性能进行了简单评测,对系统未来的工作进行了 分析和展望,提出了一些优化方案。 关键词:l u c e n e ,中英文文档,全文搜索引擎,文档解析 i i a b s t r a c t s e 疵he n g = i i l eb e c o m e st h em a i l lw a yt og e ti n 南硼a t i o n 白o mt l l e1 1 1 t 锄e t s i m p l e w e b p a g es e a r c hc 锄o ts a t i s 矽l l s e r s t h e r e f o r e ,a l lk i n d so fs e a r c he n 西n 懿c o m eo u t a m o n ga l lm ei l l t 咖e ti n 硒m a t i o i l ,w o r d ,p p ta n de x 翻d o c 啪e i l t sc o n t a i nl 鹕e q u a i l t i 锣o fi 1 1 硒衄撕o nm a tw en e e d u n d e r 蚰c hc i r c u m s t 锄c 髂,s e a r c h 曲g i i l e d e v d o p e f sd e v e l o pp r o f e s s i o n a ld o 锄m e n ts e a f c h 锄沓n c s l l c h 雒t i 觚w 锄go fpe :l ( i n g u i l i v e r s i 够1 1 1 i sk i i l do ff 1 pd o c u m ts e a r c he n 西n 髂i sc o n s 仃a i n ti nt i l es c o p eo ff t p s e r v e r s ,柚dn l ec o n t e n to fm ef r pd o c i 】啷ti sn o ti l l d e x e d v 哪f e wl a r g es c a l e s e 疵he 1 1 西n es u c ha sb a i d u 柚dg 0 0 酉ei n d e x e d l ec o n t to fd o c 啪e i l t n e v e r t l l e l e s s , t 1 1 e yd on o ts t 】【p 】,o f tf r ps e f v e r sw 1 1 i c hi sa 目汜a tl o 豁o fi n f 0 姗a t i o ns o u r c e s a sm e s c a l eo fi n t e n l e t 舀_ 0 w s ,t 1 1 eo v e r a i ls e a f 曲r 唧l ti t s e l fi sav e 秽h u g ec o l l e c t i o n p e o p l e n e e dm o r es p e c i 矗c 觚dc l l s t o m i z e ds e a r c h 锄百n e t h e r e 南r e f l e x i b l ea l l d e a s i l y c o n 6 9 u r a b l es e 砌i sb e c o m i n gm o r ea n dm o r cf o c u s e d t h e c h i l l e s e - e n 百i s h向l l t e x td o c l l m e n ts r c he n 酉n et h a tm ea u m o r i m p l 锄e n t e dd i 侬髑自o mm ee x i s t i n gs e a r c he i l 酉n e 1 tc r e a t i v e l ys i m p l i 6 e sa n d i n t e g r a t e st l l em a s s i v ei n t e n l e td a t a a c c o r d i n gt om e 砌b u t eo fs 油p l i f i e da n d i n t e 謦a t e d ,w ec a l la p p l yt h i ss y s t e mt os 0 m es p e c i f i ca r e al i k ed o c u m e n lr e s o u r c e s e a r c h 如rs o m es p e c i 6 cw e b s i t e ,d o c u m e l l tr e s o u r c es e a r c hi i ls o m es p e c i 6 cf i e l d c o m b i i l e dw i t l lv 硎c a ls e a r c ht e d m o l o 黟c 吣s y s t e m 丘r s tm a l ( eu pm ed e 6 c i e n c yo f l a c ko fi n f o 咖a t i o no fc x i s t i n gd o c 啪e n ts e a r c he 1 1 舀n e ;a i l ds e c o n dw ec a i l e a s i l y a p p l yo u rs y s t e i l lt 0d o c u m e n ts e a r c h6 e l dw 1 1 i c hh a ss p e c i a lf e q u i r e m e n tw h i c h r e q u i r e sl o w e n dh a r d w a r eb e c a u s eo ft h eb r i e 伍e s s ,f l e x i b i l i t ya n dc o n 6 9 u r a b l e n e s s o fo u fs y s t 锄 t k s p a p e rp u t sw e i 曲to nt 1 1 e 岛l l o w i n ga s p e c t st h a tt 1 1 ea u t l l o ri m p l e m e n l e d : 1 s y s t 锄d e s i 印a i l dt 量l ew o r ki np u 印o s eo fo p t i m i z i n go np 耐b 蛐a n c ea n d e x t e l l s i b i l i 吼 2 h t t ps p i d e r f t ps p i d 瓯d e s i g n & i m p l 锄e n tn l es p i d e rf o rs p e c i f i c i a b s t r a c r d o c u m e n t s ( w o r d ,p p t ,e x c d ) i l l u s 妇隰t et h es y s 搬ns t l l 】c 毗w o r kf l o v 伽t i a l c o m p o n t s ( d n sc a c h e ) ,d e s 谤o fu r lo v e 一印a v o i d 锄c ep o l i 喵d e s i 印衙p o l i t e n i c ep o l i c 弘h 7 i m lp a g eh a i l d l d 商印a n di m p l e l n 曲t a t i o no fd o c 啪锄t 触c h m o d l l l e ;i 1 1 u s 缸i a t et l l es y s t e md 商g i l ,p e r f o 册锄c e 叩t i l l l i z a t i o nd e s i g n ,w o r kn o wo f f 1 p 哂d e r ;i l l l l s 拄a t em em e t l l o df b fd o c u m e n to v 甜a pa v o i d a i l c e i 1 1 t e m c ed e s i 盟& i m p l 锄e l l t a t i o nf o rd o c u m e n ta 1 1 a l 归sm o d u l e 3 d e s i 印& i m p l 锄e 1 1 t a t i o no fd 0 伽m e l l tt e x te x 的c t o rb a s e do na p a c h ep o i i l l 昀d u c e 也em o d u l ed e s i 肆,泌1 p l 啪t a l i o n 髓do p 垃l l l i z a t i o np o l i c y 4 s e a c h 觚du im o d u l c sb 弱e d0 n 印a c h el u c e i l e i l l 昀d u c ep r i n c i p l e so f l u c e i l e 锄di n u s 咖t et 1 1 ed e s i 印向ro u rs e a r c hs y s t 锄锄du im o d u l ec o n c e n l i n ga b o u t l ew e b t e c h n o l o 西e s t h el a s tc h a p t e ro ft h ep a p e ri i l m ) d u c e s l er e s u l to ff h n c t i o n a l i 够t e s ta 1 1 d p 棚a i l c et e s t , a i l d a n a l y z e st l l ew o r ki nt h e向t u l ew 1 1 i c hi n d u d e ss o m e o p t i m i z a t i o ns o l u t i o n s 如rm ec u r f e n ts y s t e n l 1 ( e y w o r d s :l u c e n e ,c h i n e s e e 1 1 羽i s hd o c u m e n t ,如l l t e x ts e a 玎c he n 百n e ,d o c u m e n t e x t l a c t l v 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:多堡追日期:年月日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:垃导师签缸! 趁! 整 日期:年月 日 第一章引言 1 1背景 1 1 1 搜索引擎介绍 第一章引言 信息检索( i n f o m a t i o nr e t r i c v a l ,瓜) 是计算机科学与工程领域长久以来被广泛 研究的技术,有很多专门讨论它的期刊和学术会议,例如美国国家标准局m 撕o n a l b t i t u t eo f s t a l l d a r d sa i l d1 e c l l i l o l o g 弘n i s t ) 的文本信息检索会议( t l 也c ,1 7 ) ,美国 计算机协会( a c m ) 也有自己的会议s i g 瓜研究信息检索。同时信息检索还和数据 管理技术( 比如数据库) 的研究交叉在一起,可以说,自从人类使用计算机管理数 据等信息,就产生了信息检索的需求。计算机在人类社会的广泛应用,促使我们 进入了所谓的“信息化时代”,以计算机作为强有力的工具人类才有能力处理、存 储大量电子化的信息,信息规模与日俱增,也使人类面临“信息爆炸的威胁。 如果不能有效的使用这些信息,我们就会被淹没在信息的海洋里,造成“信息过 剩”和“信息垃圾”。信息检索的目的就是帮助用户找到自己感兴趣的信息,过程 可以简单描述为:用户提交查询请求( 通常是关键字) ,系统返回与用户查询相关 的信息。信息检索要解决的问题不是一成不变,它必须跟上人类信息爆炸式增长 的现实。 w w w 从九十年代以来,获得了飞速发展,彻底的改变着人类的工作和生活。 据计算机世界网( h t t p :, ) l n ) l n v c c w c o m c 1 1 ) 报道,美国网址专家凯利研究后指出:“自 网景公司于1 9 9 5 年申请上市以来的2 0 0 0 天中,人类居然创写了3 0 亿网页,建立 了2 0 0 0 万个网址,而传送的电子邮件就达3 兆5 亿则之多。网址还将继续扩张多 元发展,但只有少部分是为了营利赚钱,而其他部分则是启发自热情、热心及公 共责任,亦即是一种对未来也许可用于经济用途的信心。在这3 0 亿网页中,事实 上只有3 0 是由公司企业所创写,其他7 0 都是由非营利机构与一般民众所创作, 显现网址人所要的是相互分享。”总之,互联网( i n t 锄e t ) 逐渐成为了信息时代人类 发布、交流和共享信息的载体,极大地促进了人类知识的增长和传播。截止2 0 0 7 年1 2 月,中国网页总数已经有8 4 7 亿个,年增长率达到8 9 4 ,是2 0 0 7 年互联 电子科技大学硕士毕业论文 网基础资源中增长最快的一项,互联网上的信息资源数量日趋丰富【l 】。 搜索引擎是指因特网上专门提供查询服务的一类网站,它以一定的策略在互联 网中搜集、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务, 从而起到信息导航的作用【2 l 。 从使用者的角度看,搜索引擎提供一个包含搜索框的页面,在搜索框输入词 语,通过浏览器提交给搜索引擎后,搜索引擎就会返回跟用户输入的内容相关的 信息列表。 互联网发展早期,以雅虎为代表的网站分类目录查询非常流行。网站分类目 录由人工整理维护,精选互联网上的优秀网站,并简要描述,分类放置到不同目 录下。用户查询时,通过一层层的点击来查找自己想找的网站。也有人把这种基 于目录的检索服务网站称为搜索引擎,但从严格意义上讲,它并不是搜索引擎。 1 1 1 1 搜索引擎的分类 按照信息搜集方法和服务提供方式的不同,搜索引擎系统可以分为三大类: 1 目录式搜索引擎( d i r e c t o ws e a r c he n g i n e ) 以人工方式或半自动方式搜集信息,由编辑员查看信息之后,人工形成信息 摘要,并将信息置于事先确定的分类框架中。信息大多面向网站。提供目录浏览 服务和直接检索服务。该类搜索引擎因为加入了人的智能,所以信息准确、导航 质量高,缺点是需要人工介入( 维护工作量大) 、信息量少、信息更新不及时。这 类搜索引擎的代表是:m o o ! 、l o o k s m a n 、a s kj e e v e s 、s n a p 、0 巾d i r e c t o r y 。 2 机器人搜索引擎( c r a w l 昏b a s e ds e a r c he n 西n e ) 由一个称为蜘蛛( s p i d e r ) 的机器人程序以某种策略自动地在1 1 1 t e m e t 中搜集 和发现信息,由索引器为搜集到的信息建立索引,由检索器根据用户的查询输入 检索索引库,并将查询结果返回给用户。服务方式是面向网页的全文检索服务。 该类搜索引擎的优点是信息量大、更新及时、毋需人工干预,缺点是返回信息过 多,有很多无关信息,用户必须从结果中筛选。 这类搜索引擎的代表是:a l t a v i s t a 、n o n h e n l “g h t 、e x c i t e 、i n 南s e e k 、l n k t o m i 、 f a s t 、l 弘o s 、b a i d u 、g o o 哲e 。 3 元搜索引擎( m e t as e a r c he n 西n e ) 这类搜索引擎没有自己的数据,而是将用户的查询请求同时向多个搜索引擎 递交,将返回的结果进行重复排除、重新排序等处理后,作为自己的结果返回给 2 第一章引言 用户。服务方式为面向网页的全文检索。这类搜索引擎的优点是返回结果的信息 量大,缺点是不能够充分使用原搜索引擎的功能,用户需要做更多的筛选。这类 搜索引擎的代表是w 曲c r a w l e r 、h l f o m a r k e t 。 目前,商业的搜索引擎站点正在结合各种搜索引擎的优点,在类型上有逐渐 融合的趋势。例如,啪o o ! 在保持人工分类的同时,使用h l l ( t o m i 的机器人搜索 引擎,用户查询时,如果选择“网站搜索 便搜索人工分类库,选择“网页搜索 便搜索机器人搜索引擎的索引库。一些传统的机器人搜索引擎也增加了人工分类 的内容,以提供高精度的导航信息。另外搜索引擎站点有“门户化 的倾向,在 提供搜索服务的同时,提供多样的网络服务,如新闻、股票、天气预报、虚拟社 区、游戏、电子商务等等,成为名符其实的“网络门户 。 1 1 1 2 搜索引擎的性能指标 一个搜索引擎通常由搜索器( s p i d e r ) 、索引器( i i l d e x e r ) 、检索器( s e a r c h e r ) 和用户接口( u s e ri n t e 嘲c e ) 等四个部分组成。 可以将w e b 信息的搜索看作一个信息检索问题,即在由w e b 网页组成的文 档集中检索出与用户查询相关的文档。所以可以用衡量传统信息检索系统的性能 参数召回率( r e c a l l ) 和精度( p r 。c i s i o n ) 来衡量一个搜索引擎的性能。召回 率是检索出的相关文档数和文档集中所有的相关文档数的比率,衡量的是检索系 统( 搜索引擎) 的查全率;精度是检索出的相关文档数与检索出的文档总数的比 率,衡量的是检索系统( 搜索引擎) 的查准率。对于一个检索系统来讲,召回率 和精度不可能两全其美:召回率高时,精度低;精度高时,召回率低。所以常常 用1 1 种召回率下1 1 种精度的平均值( 即1 1 点平均精度) 来衡量一个检索系统的 精度。对于搜索引擎系统来讲,因为对于一个查询总能返回很多信息,所以召回 率一般不成问题;加之,没有一个搜索引擎系统能够搜集到所有的w e b 网页, 召回率很难比较,所以衡量搜索引擎的性能时,召回率很少使用。目前的搜索引 擎系统都非常关心精度,即是否为用户提供了相关度很高的、高质量的导航信息。 搜索引擎系统的其它衡量指标还有响应时间、支持峰值查询的能力、易用性、 返回结果的有效性( 是否为死链、过时信息) 等等。影响一个搜索引擎系统的性 能有很多因素,最主要的是信息搜集策略和检索模型,包括索引库的更新频率和 策略、文档和查询的表示方法、评价文档和用户查询相关性的匹配策略、查询结 果的排序方法和用户进行相关度反馈的机制。 3 电子科技大学硕士毕业论文 1 1 2l u c e n e 介绍 l u c e i l 】【4 】是a p a c h e 软件基金会j a l ( a n a 项目组的一个子项目,是一个开放源 代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文 检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎( 英文 与德文两种西方语言) 。l u c e n e 的目的是为软件开发人员提供一个简单易用的工 具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完 整的全文检索引擎。 l u c 锄e 不是一个完整的全文索引应用,而是一个用j a v a 写的全文索引引擎工 具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引检索功能。 l u c e i l e 的贡献者d 0 u gc u t t i n g 是一位资深全文索引检索专家,曾经是v 二t w i i l 搜索引擎o 卿l e 的c o p l a n d 操作系统的成就之一) 的主要开发者,后在e x c i t e 担任 高级系统架构设计师,目前从事于一些h l t e n l e t 底层架构的研究。他贡献出的 l u c e l l e 的目标是为各种中小型应用程序加入全文检索功能。2 0 0 1 年底l u c 朗e 成 为a p a c h e 基金会j a k a n a 的一个子项目( h t t p :历a l ( a n a a p a c h e o r 酣u c e n 。目前,已 经有很多j a v a 项目都使用了l u c e n e 作为其后台的全文索引引擎,比较著名的 有:j i v e ,e y e b r o w s ,e c l i p s e 的帮助文档系统等等。 l u c 朋e 作为一个全文检索引擎,其具有如下突出的优点: 1 索引文件格式独立于应用平台l u c e n e 定义了一套以8 位字节为基础的索 引文件格式,使得兼容系统或者不同平台的应用能够共享建立的索引文件。 2 在传统全文检索引擎的倒排索引的基础上,实现了分块索引,能够针对新 的文件建立小文件索引,提升索引速度然后通过与原有索引的合并,达到优化的 目的。 3 优秀的面向对象的系统架构,使得对于l u c e n e 扩展的学习难度降低,方 便扩充新功能。 1 2 研究内容 本文基于作者实现的中英文文档全文搜索引擎。本文分析了当前文档搜索引 擎的现状,介绍和研究了一系列与文档检索相关的搜索引擎技术,针对现状分析 了文中实现的中英文文档搜索引擎的优点。对系统中用到的技术进行了分析,包 4 第一章引言 括数据采集技术、索引技术、检索技术、c a c h e 技术、中文分词技术、文档解析 技术等。 本文重点介绍了以下一些方面: 1 系统的总体设计;为提高性能和可扩展性做的一些设计工作。 2 h t t p 和f t p 爬虫系统。设计并实现了用于抓取特定文档( w o r d , p o w e r p o i n t ,e x c e l ) 的h t t p 和f - i - p 爬虫系统。详细描述了h t t p 爬虫的总体架构 设计、运行流程、重要组件d n sc a c h e 的设计与实现。阐述了u r l 去重策略的设 计与实现、p 0 1 i t en i c e 抓取处理策略的设计与实现、h t m l 页面解析过程的设计 与实现、文档抓取过程的设计与实现。阐述了f ,l p 爬虫系统的总体设计和性能优 化方案。阐述了爬虫系统的文件去重功能的设计及实现、文档解析系统的接口设 计及实现。 3 基于a p a c h ep o i 设计和实现的文档解析模块。介绍了模块总体设计、具 体实现、采用的存储优化策略。 4 基于1 u c e n e 的检索模块和u i 模块。介绍了1 u c e n e 的原理,结合w e b 技 术阐述了检索模块和u i 模块的设计思路和实现方法。 1 3 论文组织 本文第一章介绍了中英文文档全文搜索引擎的背景。第二章对通用搜索引擎 各个组成部分进行了介绍。第三章对系统中使用的重要算法和策略进行了阐述。 第四章详细阐述了系统的关键部分的设计和实现。第五章对系统进行了简单的测 评。第六章对系统进行了总结,分析了系统的一些不足,提出了改进方案。 1 4 本章小结 本章介绍了搜索引擎的背景和发展,包括了搜索引擎的概念、分类、性能指 标。本章同时介绍了检索工具库l u c e l l e 。此外还指出了本文研究的内容和着重点, 指出论文中使用到的关键技术,重点介绍了作者创新性设计和实现的一些方面。 在本章的最后介绍了全文的结构组织。 5 电子科技大学硕士毕业论文 2 1搜集系统 第二章搜索引擎系统的相关研究 搜集器主要负责遍历数据库中结构化的数据来生成将被索引的虚拟文档。在 采集器中,文本对象构建过程以根元组标识为输入参数,构建并返回与该根元组 对应的虚拟文档。对每个根关系表,搜集器都要构建一个对应的文本对象构建过 程。 搜索器常常是不停运行的计算机程序。它要尽可能多、尽可能快地搜集各种 类型的新信息,同时因为h l t e m e t 上的信息更新很快,所以还要定期更新已经搜 集过的旧信息,以避免死连接和无效连接。目前有两种搜集信息的策略: 1 从一个起始u r l 集合开始,顺着这些u r l 中的超链( h y p d i n l ( ) 。链接 有多种类型,但最常用的是h r e f ( h y p 瞰e x tr e 鼢l c e ,超文本链接) 链接,l 职f 链接 分为内部链接、外部链接、独立链接【5 】。搜集器以宽度优先、深度优先或启发式 方式循环地在h l t e n l e t 中发现信息。这些起始u r l 可以是任意的u r l ,但常常是 一些非常流行、包含很多链接的站点。 2 将w 曲空间按照域名、i p 地址或国家域名划分,每个搜索器负责搜集一 个子空间信息。 搜索器搜集的信息类型多种多样,包括h t m l 文本、x m l 文本、正文文本、 f 1 限文件、字处理文档( 如w 6 r d 、e x c e l 、p o w e r p o i n t ) 、多媒体信息( 如地图、 图形、图象、声音) 等。 搜索器的实现常常用分布处理和并行计算技术,以提高信息发现和更新的速 度。商业搜索引擎的信息发现速度可以达到每天几百万网页。 2 2 索引系统 索引器的功能是理解搜索器所搜索的信息,从中抽取出索引项,用于表示文 档以及生成文档集的索引表。 索引项( t e m ) 有客观索引项( o b j e c t i v e t e n n s ) 和内容索引项( c o n t e n t t e 朋s ) 6 第二章搜索引擎系统的相关研究 两种:客观项与文档的语意内容无关,如作者名、u r l 、更新时间、编码、长度、 链接流行度( l i n kp 0 p u l 撕t y ) 等等;内容索引项是用来反映文档内容的,如关键 词及其权重、短语、单字等等。内容索引项可以分为单索引项和多索引项( 或称 短语索引项) 两种。 单索引项对于英文来讲是英语单词,比较容易提取,因为单词之间有天然的 分隔符( 空格) ;对于中文等连续书写的语言,必须进行词语的切分。 在搜索引擎中,一般要给单索引项赋与一个权值,以表示该索引项的重要程 度及对文档的区分度,同时用来计算查询结果的相关度。使用的方法一般有统计 法、信息论法和概率法。短语索引项的提取方法有统计法、概率法和语言学法。 索引表一般使用某种形式的倒排表( 脚e f s i o nl i s t ) ,即由索引项定位相应的 文档。索引表也可能要记录索引项在文档中出现的位置,以便检索器计算索引项 之间的相邻或接近关系( p r o x i i n 时) 。 大型搜索引擎的索引器往往还包含若干模块:桶,字典,文件索引等【6 】。 组成索引系统中的一个重要组成部分是倒排索引,倒排索引设计的好坏在很 大程度上决定了索引系统的效果。 倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每 一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定 属性值,而是由属性值来确定记录的位置,因而称为倒排索引( i n v e n e di n d e x ) 。带 有倒排索引的文件称为倒排索引文件,简称倒排文件( i n v e n e df i l e ) 正文索引处理的就是建立一个数据结构以提供对文本内容的快数检索。建立 正文倒排索引有词汇索引和全文索引两种方法。词索引是把正文看成由符号和词 所组成的集合,从正文中抽取出关键词,然后用这些关键词组成一些适合快速检 索的数据结构。对建立了词索引的正文进行查询,查询词需要被限制在词索引的 关键词范围内。全文索引把正文看作一个长的字符串,通常在数据结构中记录子 字符串的开始位置,这样查询就可以针对正文中的任何子字符串。使用这种方法 可以对每一个字符串建立索引,从而使查询词不再限于关键词。但建立全文索引 通常需要更大的空间,这使他们在很多应用中显得不切实际。倒排索引文件使用 最广泛的词索引。一个倒排索引文件就是一个已经排过序的关键词的列表,其中 每个关键词指向一个倒排表,倒排表保存着该关键词出现的文档集合以及在该文 档中的位置等。 建立一个文本正文的倒排索引文件通常需要以下几个步骤: 7 电子科技大学硕士毕业论文 第一步,对文档中的所有文件都进行分割处理,把正文分成多条记录。如何 切分正文记录取决于程序的需要。一条记录可以是正文中的一个定长的块、一个 段落或者一个章节、甚至正文本身就是一组文档,那么条记录就可以是一篇文 档。 第二步,给每条记录赋予一组关键词。这些关键词可以是以人工或者自动的 方式从记录中抽取出来。如果抽取是自动完成的,可以建立一组规则来确定那些 标识着可索引的词和字符序列的开始位置。通常还需要确定一组终止词 ( s t o p w o r d ) ,例如助词和介词,这些词不会被索引。在英语等西文中还经常用到 “抽词干一( s t 锄i i l i n g ) 技术,抽词干技术可以使用一个关键词来表示一组语义上 相近的索引和检索项。在汉语中,因为词与词之间没有空格分割,要把词从句子 中划分出来还需要进行切词( s e 舯e i l t a t i o n ) 处理,这需要自然语言理解技术的支 持。 第三步,获得关键词的集合后,将关键词组织成词典。词典中的每一项,由 关键词及其对应的倒排表在倒排索引文件中的起始位置组成。在对每一个关键词, 得到其倒排表,然后把所有的倒排表存入文件,并在词典的对应项中,记录每个 倒排表在索引文件中的起始位置以及每个表的大小等。 建立起倒排索引文件文件以后,对关键词的检索通常分成两步。首先在词典 中检索关键词。如果找到了关键词,然后通过词典中保存的倒排表的位置信息, 获取对应的倒排表中的记录。为了在倒排索引文件中高效检索关键词,通常使用 另一个索引结构迸一步对词典进行索引。词典一般不是特别大,可以全部存放在 内存中,对词典常用的索引技术有散列表和b + 树。 针对非结构化的文本正文的倒排索引,支持高效的基于关键词的检索。基于 关键词的方式查询直观、易用,不需要学习复杂的查询语言,也不需要知道查询 对象的底层结构,是当前查询文档和网页的最简单、最流行的信息检索技术。 索引器可以使用集中式索引算法或分布式索引算法。当数据量很大时,必须 实现即时索引( i n s t a l l t1 1 1 d e x i n g ) ,否则不能够跟上信息量急剧增加的速度。索引 算法对索引器的性能( 如大规模峰值查询时的响应速度) 有很大的影响。一个搜 索引擎的有效性在很大程度上取决于索引的质量。 8 第二章搜索引擎系统的相关研究 2 3 检索系统 检索器的功能是根据用户的查询在索引库中快速检出文档,进行文档与查询 的相关度评价,对将要输出的结果进行排序,并实现某种用户相关性反馈机制。 一般每个网页有一个值,表示这个网页的重要性,称为r a l l l 【值。网页就是按照r a n l ( 值从大到小排序的。如何计算r a i l k 值有不同的算法,而且要考虑各个方面对重 要性的影响。典型的r a i l l ( 算法有p a g e r 趾k 等【7 _ 1 0 1 。 检索器常用的信息检索模型有集合理论模型、代数模型、概率模型和混合模 型四种。 1 集合理论模型 集合理论模型又分为布尔模型( b o o l 锄m o d e l ) 和模糊集合( f u z z y - s e tm o d e l ) 模型两种。 布尔模型用一组索引项表示文档,每个索引项可看作一个布尔变量,如果该 索引项在文档中出现,则取值为真。索引项没有权值。查询表示为由逻辑运算符 ( 与、或、非) 连接起来的布尔表达式。检索状态值( r e t r i e v a ls t 挑v 甜u e ,r s v ) 用来度量文档和查询的相似度。如果查询表达式的值为真,则r s v 值为l ,否则 为o 。所有r s v 为1 的文档与查询相关。这种模型实现简单( 算法简单、对存储 文档表示要求不高) ,但是检索性能较差。因为所有检索出的文档有相同的r s v , 所以无法对输出结果进行排序,用户相关度反馈也很难实现。 模糊集合模型使用了模糊集合理论。模糊集合理论与传统集合理论的不同之 处在于,它允许集合的部分成员关系。模糊集合模型重新定义了逻辑运算以包含 集合部分成员关系,用户查询的处理方法和布尔模型类似。但实验证明,该模型 和布尔模型有同样的缺点。 2 代数模型 代数模型又称为向量空间模型( v e c t o rs p a c em o d e l ) 。它将文档表示为由n 个经过归一化处理的索引词构成的n 维空间中的向量,该向量第k 维的值( 第k 个分量) 表示第k 个索引项在文档中的权值。用户查询也同样表示为一个n 维向 量。文档和查询的r s v 是这两个向量的标量乘积( s c a l a rp r o d u c t ) ,r s v 越大, 文档和查询的相关度便越大。该模型可以很容易地进行输出结果的排序,用户相 关性反馈机制也很容易实现。其主要缺点是,用户查询时输入的索引项( 关键词) 较少,查询向量的很多分量为0 ,很难准确地计算r s v ;它假设向量空间的每一 9 电子科技大学硕士毕业论文 维都是正交的( 吼h o g o n a l ) ,没有考虑索引项之间的相关关系。 3 概率模型 概率模型考虑了索引项之间的相关关系,并定义了查询词权值等主要参数以 及查询和文档间相似度的形式。概率模型中有两个主要参数:一篇文档与查询的 相关概率p r ( r e l ) 和无关概率p r ( n o n r e l ) 。它们是用索引项的概率权值和文档中 实际出现的索引项计算得到的。另外,使用两个损失参数a l ,a 2 分别表示在无关 文档中检出和在相关文档中漏检的损失。概率模型因为同时考虑了文档集中相关 和不相关部分对索引项权值的影响,所以能较好地表示检索过程。 4 混合模型 混合模型又称为扩展的布尔模型( e x t e n d e db o o l e 趾m 0 d e l ) 。该模型与向量 空间模型一样,将文档表示为n 维空间中的向量,不同的是它用两个向量之间一 般化( g 饥e r a l i z e d ) 的标量乘积衡量文档和查询的相似度。随着一般化参数的变 化,该模型可以变为向量空间模型、模糊集合模型和布尔模型。 上述一些模型都是信息检索系统常用的信息检索模型,经过多年的研究、开 发已基本成熟,搜索引擎索引器可以选择使用。 2 4 文档搜索引擎现状 除一般网页外,在大型专业搜索引擎中还可以搜索p d f 、d o c 、x l s 、p p t 、 r 1 r f 等文档文件。虽然这类文件的数量远小于h t m l 文档,但这些文件通常会包 含h 聊l 页面中没有包含的重要信息,如研究报告、论文等。对于文档文件中包 含的重要的信息,h t m l 页面起到了索引的作用,而真正有价值的内容却隐藏在 这样的大量文档文件中。h t m l 页面规模庞大,包含了大量信息,但是这些信息 中并不都是用户关注的重点信息。即使存在一些重要信息,由于其规模的庞大, 用户在巨大的搜索结果集合中也很难迅速定位出真正需要的信息。为了获取这些 重要信息,人们开发了专门用于文档文件检索的文档搜索引擎。 目前的文档搜索引擎存在以下现状: 1 目前的专业文档搜索引擎特别是中文文档搜索引擎非常少。一般来说,专 业的大型搜索引擎( 如b a i d u ,g o o 酉e ) 加入了文档搜索的功能,但是其文档搜索功能 并不是作为其重点提供的服务,因此检索效果很一般。这些文档搜索引擎实质上 是其网页搜索的副产品,因此只支持h 订p 页面中包含的文档,没有收录其他资 l o 第二章搜索引擎系统的相关研究 源比如f 1 限s e r v e f 中包含的文档。 2 存在一批以搜索资源为目的的专业文件搜索引擎,这些搜索引擎通常以 f t p 搜索引擎的形式索引了包括文档文件、多媒体文件在内的各种资源文件。这 类搜索引擎通常只包含了f t p 资源文件( 如北大天网文件搜索引擎、t o o o o o l d ) 。 这类搜索引擎存在的一个最大问题是:对于所有资源( 包括文档文件、多媒体文 件等) 进行统一处理和检索,而忽略了文档文件自身内容,没有区分对待不同类 型的文件。这类搜索引擎只将文件标题作为关键字而没有索引文档的内容,这种 方式对于文档文件的检索不适用。 3 目前能够提供文档内容检索的搜索引擎( 如b a i d u 、g o o 西e ) 其检索范围 过于宽泛,从海量的检索结果中用户难以找到真实所需。 微软亚洲研究院负责搜索的一名技术专家认为:7 5 的内容通用搜索引擎搜索 不出来。这里面包含2 层含义: 1 网站结构不合理,网页对搜索引擎不友好。 2 由于信息在互联网是海量的,非结构化的信息需要经过结构化的梳理后才 能更好的展现。如果梳理者能提供搜索,那样会更好。针对这个问题,出现了垂 直搜索引擎。垂直搜索引擎的出发点就是希望向垂直门户信息提供方式的一次简 化性的整合。 本文设计实现的文档搜索引擎的出发点和垂直搜索引擎类似,提供一次简化性 的整合。将h 1 t r p ,f t p 资源中的重要信息( 文档文件中包含的信息) 整合在一 起,并且将文档的标题和内容一起建立索引提供检索以应用到一类专门的需求如 研究报告、论文等。 该系统在设计时注意了该文档搜索引擎的可配置性,将信息简化整合,可以灵 活的和垂直搜索等技术相结合,以应用到特定的领域比如特定网站文档资源检索、 特定行业的文档资源检索。该系统一方面弥补了现有文档搜索引擎信息量匮乏的 缺陷;另一方面,系统“硬件要求低、简洁、灵活、可配置 的特点使其可以方 便地应用到各种具有专门需求的全文检索领域。 2 5 本章小结 本章介绍了搜索引擎的必要组成部分的相关技术。简述了搜集系统、索引系统、 检索系统的功能、原理以及相关理论。本章还分析了当前存在的各种搜索引擎对 电子科技大学硕士毕业论文 文档搜索的现状,分析了各类文档搜索引擎的特点及不足,筒单阐述了系统在设 计时的一些考虑。 1 2 第三章系统关键算法和方案 第三章系统关键算法和方案 3 1 小型文档搜索系统实现方案 本节对文档搜索引擎的方案进行比较和分析。 3 1 1h t t ps pid e r 首先在实现语言方面,s p i d e r 业界主流有c c + + 和j a v a 两种,出于对效率的 考虑,系统采用了c c + + 的实现。因为c c + + 是编译型的,最终将源码编译成机器 代码;而j a v a 是解释型,源码被编译成二进制伪代码,由j a v a 虚拟机解释执行。 对于普通的本地应用程序,一般c 要快于j a v a 。 对于h t t ps p i d e r ,考虑系统使用的机器是单核单c p u ,因此采用了单进程+ 异步i o 的方式。系统没有采用多线程的方式,因为对于单核单c p u 机器,多线程 对于c p u

温馨提示

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

评论

0/150

提交评论