(计算机应用技术专业论文)博客搜索优化研究.pdf_第1页
(计算机应用技术专业论文)博客搜索优化研究.pdf_第2页
(计算机应用技术专业论文)博客搜索优化研究.pdf_第3页
(计算机应用技术专业论文)博客搜索优化研究.pdf_第4页
(计算机应用技术专业论文)博客搜索优化研究.pdf_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

摘要 曼! 皇曼! 曼曼曼曼曼曼曼! 曼苎曼蔓曼曼! 曼皇曼曼曼曼皇曼皇曼曼曼曼曼曼曼曼曼曼! 曼! 曼曼舅曼曼曼篁皇曼! 曼曼曼曼量曼曼曼皇曼曼曼曼曼鼍n 一i 曼皇! 曼鼍 摘要 随着互联网时代的到来,网络信息资源成爆炸式增长。然而伴随着互联网信 息的越来越巨大,网络用户想要找到自己所需的信息就如大海捞针一样,为了更 加方便、快捷并有效的利用网络上的信息资源,搜索引擎系统便应时出现了。现 在,搜索引擎技术作为计算机与信息产业界竞相研究开发的对象,已经日益成熟 起来。目前,在传统搜索引擎技术产品中,开源全文搜索引擎n u t c h 和全文索引 软件包l u c e n e 是当中的具有代表性的两个产品。 博客做为一种新兴的网络服务形式,已经被越来越多的人所关注和应用。然 而,博客搜索引擎却不能简单的应用传统搜索引擎技术去开发。博客是互联网上 的一种共享空间,是一种作者与读者通过互联网以日志风格进行交互的中介,是 一种崭新的信息传播和交互方式。用户可以在该空间上发表文章、评议、图片、 影音文件等个人资源。博客用户更新博客的形式不确定,更新博客的内容不确定, 更新博客的时间不确定,使得博客网页带有明显的不确定性。因此,博客搜索引 擎与传统搜索引擎有着明显的区别。博客搜索引擎只专注于博客方面,博客搜索 引擎比传统搜索引擎的索引站点更加明确;博客网页更新时间的不确定性,使得 博客搜索引擎比传统搜索引擎更要求时效性;从内容上看,博客检索不仅要取得 传统检索的网页形式,还要有博客链接。传统搜索引擎在时效性,覆盖率,页面 分析等方面都无法满足用户对博客资源搜索的要求。目前,设计研发一款能够准 确抓取博客页面,较大程度上覆盖博客资源,并更新及时的博客搜索引擎己经成 为搜索引擎研究领域研究的热点和挑战。 本文在研究传统搜索引擎的基本原理、核心技术和处理流程的基础上,结合 博客搜索引擎的具体需求,以开源全文搜索引擎n u t c h 为体系结构基础,以基于 j a v a 的全文索引软件包l u c e n e 为系统的索引功能与检索功能的开发工具包,搭 建起了完整的博客搜索引擎系统。 系统实现了分布式易扩展结构,在n u t c h 源码的基础上,重写了网页过滤部 分,网页去噪部分,网页消重部分,实现了p a g e r a n k 算法;在页面内容分析上, 实现了正向最大匹配算法的中文分词方法,并对系统模块进行了优化,加快了系 统运行速度。 关键词搜索引擎;博客;博客搜索引擎;搜索优化:优化研究 a b s t r a c t 皇鼍曼! i i ;m = 一一一:= | ! 曼! ! ! ! ! ! ! ! 苎鼍鼍! 曼 a b s t r a c t a st h ei n t e m e tc o m ei n t oo u rl i v e s t h ei n t e m e ti n f o r m a t i o nr e s o u r c e sg r o w1 i k e e x p l o s i v e a st h ei n t e m e ti n f o r m a t i o nr e s o u r c e sb e c o m em o r ea n dm o r eh u g e ,t h e i n t e r n e tu s e rb e c o m em o r ea n dm o r eh a r dt of i n dt h ei n f o r m a t i o nr e a l l yt h e yw a n t e d , s oa st of i n dan e e d l ei nt h eo c e a n f o rm o r ec o n v e n i e n t l ya n df a s t e ru s i n gt h ei n t e m e t r e s o u r c e s ,t h es e a r c he n g i n ec o m e so u ti nt i m e n o w , s e a r c he n g i n et e c h n o l o g i e s b e c o m et h ef o c u so fr e s e a r c ha n dd e v e l o p m e n tt a r g e t si nc o m p u t e rs c i e n c ea n di t i n d u s t r y ,a n db e c o m em o r ei m p r o v e d a tt h et i m e ,i nt h es e a r c he n g i n et e c h n o l o g i e s p r o d u c t s ,o p e ns o u r c ef u l lt e x ts e a r c he n g i n en u t c ha n df u l l t e x ti n d e x i n gp a c k a g e l u c e n ec a ns e r v ea sa ne x a m p l e ,t h e s et w op r o d u c t sa r er e p r e s e n t a t i v e b l o ga san e wi n t e r a c ts e r v e sh a sb e e nc o n c e m e da n du s e db ym o r ea n dm o r e p e o p l e ,b u tt h eb l o gs e a r c he n g i n ec a nn o tb ed e v e l o p e dj u s tu s i n gt h et r a d i t i o n a l s e a r c he n g i n et e c h n o l o g i e s b l o gi sak i n do fs p a r es p a c ei nt h ei n t e r a c t ,ak i n do f i n t e r a c t i o ni n t e r m e d i a r i e sf o ra u t h o r sa n dr e a d e r st h r o u g ht h ei n t e r n e t ,an e ww a yt o d i f f u s ei n f o r m a t i o na n dan e wi n t e r a c t i v em o d e u s e t sc a l lu s et h es p a c et op u b l i c i z e t h e i rp e r s o n a la r t i c l e s ,c o m m e n t s ,p i c t u r e s ,v i d e of i l e se t c i ti su n c e r t a i nf o rb o l g u s e r sh o wt ou s et h eb l o g ,u s i n gw h a tt ou p d a t ei t ,a n dw h e nt ou p d a t ei t t h o s et h i n g s m a k eb o l gh a v eu n c e r t a i n t yp o i n t s s o ,t h eb l o gs e a r c he n g i n e sa n dt h et r a d i t i o n a l s e a r c he n g i n e sh a v eo b v i o u sd i f f e r e n c e s t h ef o r m e ro n l yc o n c e n t r a t e so nb l o g s s o h a v em o r es p e c i f i cs e a r c h i n gs i t e s ;t h eu n c e r t a i n t yf o rb l o g s u p d a t i n gt i m em a k e st h e f o r m e rs e a r c he n g i n e sr e q u i r em o r et i m e l i n e s s ;i nt h ec o n t e n t ,t h ef o r m e rn o to n l y r e q u i r et h e f o l r m a t so fw e bp a g e sa st h el a t t e r ,b u ta l s oh a v eb l o gl i n k s s ot h e t r a d i t i o n a ls e a r c he n g i n e si nt i m e l i n e s s ,c o v e r a g er a t i o ,a n dp a g ea n a l y s i sc a r ln o t m e e tt h eu s e r s b l o gs e a r c hr e s o u r c er e q u i r e m e n t s n o w , i th a sb e c o m eah o ta r e aa n d ac h a l l e n g ei nt h er e s e a r c hs t u d i e sf o rh o wt od e s i g nas e a r c he n g i n e ,w i t ht h ea b i l i t i e s t oa c c u r a t e l yc r a w lb l o gp a g e s ,c o v e ral a r g e re x t e n to fr e s o u r c e s ,a n du p d a t et h e c o n t e n t si nat i m e l ym a i m e r o nt h eb a s i so fr e s e a r c h e st ob a s i cc o n c e p t i o n s ,k e yt e c h n o l o g i e sa n dp r o c e d u r e s , c o m b i n i n gt h ea n a l y s e so ft h eb l o gs e a r c hr e q u i r e m e n t s ,u s i n gn u t c ha st h es y s t e m a r c h i t e c t u r ea n dm a k i n gu s eo faf u l l t e x ts e a r c he n g i n et o o l k i tl u c e n e ,w eb u i l du p t h eb l o gs e a r c he n g i n es y s t e m t h es y s t e mh a si m p l e m e n t e dad i s t r i b u t e ds t r u c t u r ew h i c hi se a s yt ob ee x t e n d e d w er e a l i z e sp a g e r a n ka r i t h m e t i c ,a n dh a sr e w r i t t e nw e bp a g e s f i l t r a t i o n ,d e n o i s i n g a n dd u p l i c a t ew e bp a g e sr e m o v i n ga r i t h m e t i c ;f o r 也ec o n t e n ta n a l y s i s ,t h es y s t e mh a s i m p l e m e n t e dc h i n e s es e g m e n tb a s e do nf o r w a r dm a x i m u mm a t c h i n gm e t h o d ( f m m ) ,a n do p t i m i z e ds y s t e mm o d u l e st oa c c e l e r a t et h er u n n i n gs p e e d k e yw o r d ss e a r c he n g i n e ;b i o g ;b l o gs e a r c he n g i n e ;s e a r c h e ro p t i m i z a t i o n ; o p t i m i z a t i o ns t u d y 一i 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 己在论文中作了明确的说明并表示了谢意。 魏五量隰耻弘 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:乏叁冬导师签名:史日期:雌 第l 章绪论 1 1 搜索引擎发展 第1 章绪论 随着互联网时代的到来,互联网的发展迅猛,网络信息资源成爆炸式的增 长,然而伴随着互联网信息的爆炸性增长,网络用户想要找到所需的信息就如 大海捞针一样,为了更加方便、快捷并有效的利用网络上的信息资源,搜索引 擎系统便应时出现了。 1 1 1 搜索引擎发展历史 搜索引擎又称检索引擎、查询引擎,其英文译名为s e a r c he n g i n e ,广义 上是指一种基于因特网上的信息查询系统,其功能主要包括信息存取、信息管 理和信息检索;狭义上是指一种为搜索因特网上的网页而设计的检索软件n 1 。 一般情况下,搜索引擎是指万维网上的搜索引擎,它实际上是一个专用的万维 网服务器。搜索引擎利用网络自动搜索技术,对互联网各种资源进行标引,并 为检索者提供检索。搜索引擎是一种非常先进的信息查询技术,它采用了快速 索引技术、动态缓存技术、分布计算技术、内容评价技术等多种技术手段,能 够不断地适应快速增长的用户需求。自1 9 9 4 年起,搜索引擎正式登上了历史的 舞台,至今搜索引擎大致经过了4 个发展阶段口1 。 1 ) 1 9 9 4 出现的第一代搜索引擎,以集中式搜索为主要特征。虽然使用了 信息检索、网络、数据库等技术,但是缺点也是很明显的,他们的网站收录信 息较少并且更新速度缓慢。在信息量剧增的环境中,其运行结果是很难令人满 意的引。 2 ) 大约在1 9 9 6 年出现的第二代搜索引擎系统以采用分布式搜索方案为主 要特征。他们采用多个计算机并发协同工作,来提高数据覆盖率、反馈响应速 度。他们一般都保持一个大约5 千万网页的索引数据库,每天能够响应l 千万 次请求。 3 ) 第三代搜索引擎系统出现在1 9 9 8 年到2 0 0 0 年之间。这是商业搜索引擎 空前繁荣的时期。第三代搜索引擎的特点一般包括:索引数据库规模巨大;开 始出现主题搜索与个性搜索;数据分析被应用于搜索结果的反馈;检索结果的 评价成为研究的焦点。 4 ) 第四代搜索引擎的特征是主题搜索引擎。第四代搜索引擎是在第三代搜 索引擎的基础上加入了人工分类以及特征提取等智能化策略,使它的搜索结果 更加有效和准确,我们将这类完善的主题搜索引擎成为第四代搜索引擎。 北京1 = 业大学工学硕士学位论文 1 1 2 搜索引擎的分类 搜索引擎按照信息的搜集方法和服务的提供方式,可以分为三大类h 1 : 1 ) 目录式搜索引擎晦1 :以人工方式或半自动方式搜集信息,由编辑员查 看信息之后,人工形成信息摘要,并将信息置于事先确定的分类框架中。信息 大多面向网站,提供目录浏览服务和直接检索服务。该类搜索引擎的优点是: 利用人工智能来处理数据信息,所以信息准确、导航质量高。缺点是:需要人 工介入、维护量大、信息量少、信息更新不及时。这类搜索引擎的代表是阳1 : y a h o o ! 等。目录索引虽然有搜索功能,但在严格意义上来讲算不上真正的搜 索引擎,仅仅是按目录分类的网站链接列表来分类。用户完全可以不借用关键 词检索,而是使用目录就可以得到所需要的信息。 2 ) 机器人搜索引擎:由一个称为蜘蛛( c r a w l e r s p i d e r ) 的机器人程 序以某种策略自动地在互联网中搜集和发现信息,由索引器为搜集到的信息建 立索引,由检索器根据用户的查询输入检索索引库,并将查询结果返回给用户。 服务方式是面向网页的全文检索服务。该类搜索引擎的优点是信息量大、更新 及时、毋需人工干预,缺点是返回信息过多,有很多无关信息,用户必须从结 果中进行筛选。这类搜索引擎的代表是g o o g l e 、b a i d u 。机器人搜索引擎也称 全文搜索引擎,可以说是真正的搜索引擎。 3 ) 元搜索引擎随1 :这类搜索引擎没有自己的数据,而是将用户的查询请 求同时向多个搜索引擎递交,将返回的结果进行重复排除、重新排序等处理后, 作为自己的结果返回给用户。服务方式为面向网页的全文检索。这类搜索引擎 的优点是返回结果的信息量更大、更全;缺点是在没有独立爬取网页的情况下, 爬取的完整性受到很大的限制,并且不能够充分使用所使用搜索引擎的功能, 用户需要做更多的筛选。这类搜索引擎的代表是d o g p i l e 。 传统的通用搜索引擎是博客搜索引擎产生及发展的基础,博客搜索引擎是 网络博客发生及发展的必然产物。网络博客有着巨大的市场需求和商业产品引 导价值,因此博客搜索引擎系统的研究也同样有着巨大的商业前景。 1 2 博客搜索引擎发展 博客( b l o g ) 是网络日志( w e bl o g ) 的简称,在国内普遍被译为博客。博 客是一种作者与读者通过互联网以日志风格进行交互的中介,是一种崭新的信 息传播和交互方式凹1 0 3 。一个博客可以看成是在互联网上可获取的杂志,更新 博客的活动就是“写博客”,维持博客的人就是“博主”,即博客作者n 0 1 。 博客起源于上十九世纪九十年代,由j o r nb a r g e r n 命名为“w e b l o g ”。 第1 苹绪论 j o r nb a r g e r 最早用w e b l o g 这个术语来描述那些有评论和链接,而且持续更新 的个人网站。后来在1 9 9 9 年,由p e t e rm e r h o l z 以缩略词“b l o g 来命名博 客,成为今天最常用的术语n 2 1 3 1 4 1 。2 0 0 1 年9 月1 1 日世贸大楼遭遇恐怖袭击, 博客成为重要信息和灾难亲身体验的重要来源。从此,博客正式步入主流社会 的视野。 早期的博客绝大多数是个人兴趣的网址网站的超链接集合n5 1 。在1 9 9 9 年 后,博客得到异常迅速的发展。现在,博客的内容不再仅仅是一个超链接集合, 而更多的是个人对事物的实时评论,并夹杂图片甚至有音视频多媒体文件的报 道n 6 m 儿1 8 1 。相应的个人博客的数量也有了飞速的增长。在国内,根据中文搜索 引擎百度( h t t p :w w w b a i d u c o m ) 的统计,截止到2 0 0 6 年1 1 月,在中文互联 网领域,博客站点达到5 2 3 0 万,博客作者达到1 9 8 7 万。在国外,到2 0 0 5 年8 月,经博客搜索引擎b l o g p u l s e 和t e c h n o r a t i 统计全美约有l - 5 亿个个人博 客n 引。到2 0 0 7 年1 2 月,t e c h n o r a t i 统计到互联网上1 1 2 亿多个个人博客妇叫。 随着博客的日益长大,博客的读者也日益增多,由c o m s c o r e 乜1 1 发起的用户在线 行为研究表明,有5 0 0 0 万美国人访问过b l o g 网站,约占美国互联网用户的3 0 , 占美国人口的1 6 。可见,无论在国内还是在世界范围内,博客都变得日益流 行和普及。博客作为一种新兴的媒体,其影响力也日益扩大,在报道的及时性 与多样性方面甚至已经超过传统媒体,对现实世界正产生着巨大的影响乜引。 越来越多的研究者开始关注博客,并且研究的角度也是多方面的。博客的 观点对现实世界的政策制度反映,流行趋势分析都有着重要的意义1 。有研究 表明三分之二以上的公共博客主要是私人的杂志搜集。仅仅有百分之十二的博 客具有分析价值。那么如何找到并分析这些具有价值的博客呢? 在计算机领域, 研究者运用统计方法,借助基于内容和链接分析的技术挖掘博客内容,抽取公 众观点,发掘博客特点并对搏客重要性进行分析乜钔瞄1 。国际上著名的文本检索 会议t r e c 以及w w w 会议等也开始关注博客领域的研究,提供相关的数据资源, 并提出了针对b l o g 的评测任务。在德国等一些国家也专门建立起了博客挖掘实 验室。在我国国家8 6 3 项目中,也有关于博客的研究,如主题驱动的博客社 区发现与博客特征提取技术 2 6 1 2 7 船1 。可见博客发掘越来越受到人们的重视。 博客搜索具有重要的实际意义。博客是个人性和公共性的结合体。在对某 一事物上,博主可以在博客上发表自己的观点主张;对于个人来讲,人们可以 通过阅读博客来做全面的参考。对于企业来讲,可以通过分析博客来得到集中 客户的意见反馈,及时的集中意见反馈对于企业来讲有着巨大的价值啪1 。博 客搜索为博客的分析提供数据来源,是数据分析的基础。所以博客搜索具有巨 大的实用价值和科研价值。 北京工业大学工学硕士学位论文 1 3 博客搜索引擎现状 g o o g l e 作为当前搜索准确度和用户查询相关度最好的搜索引擎h 儿5 1 ,在网 页存储量,系统响应速度等方面都有着无可比拟的优势。在数以百计的大规模 机群基础上扩展出来的博客检索功能同样达到了很高的覆盖率。 百度是全球最大的中文搜索引擎畸1 ,在中文分词方面相比其它搜索引擎具 有较大的优势。因此其中文博客检索功能也不亚于其他任何搜索引擎。2 0 0 6 年 1 1 月2 9 日百度中文博客搜索引擎正式投入公测,这项新服务借助于百度己有 技术平台,是对搜索服务的又一次细分。该博客检索功能覆盖面大,时效性强, 根据测试一个博客页面更新后,平均会在3 小时以内被收录。 以上属于基于通用搜索引擎的博客搜索引擎系统,其他一些提供专业博客 搜索服务的搜索引擎系统如下: 中客:全球最大的中文博客搜索引擎,同步跟踪4 5 8 2 5 6 2 个中文博客,可 以同时搜索1 3 1 9 2 1 9 9 张网页。 博客搜索引擎:可以搜索5 9 3 9 个博客。 八方:目前追踪2 4 6 2 5 个博客。 t e c l m o r a ti :是目前最大的博客搜索引擎,现在跟踪2 0 5 0 0 0 0 0 个站点, 提供1 7 亿个链接。 b l o g s t r e e t :链接了1 0 3 1 0 5 个博客,1 8 8 1 5 5 个博客摘要,2 8 7 0 7 本书,7 9 2 2 首音乐和2 7 5 5 张d v d 。 d a y p o p :可以提供检索5 9 0 0 0 个新闻站点、博客和博客摘要。 f e e d s t e r :网页的索引数量为3 1 6 9 7 1 7 9 2 个。 b l o g p u l s e :链接了1 7 6 2 6 5 8 7 个博客。 b l o g w is e :有2 2 8 4 2 个博客被跟踪链入。 如果说以上大规模搜索服务公司推出的博客检索功能是属于机器人搜索引 擎范畴,那么诸如抓虾网,博客中国,中华网博客等较为常见的中文博客索引 系统就在较大程度上利用了元搜索引擎技术。由于有大量的原始数据作基础, 这些小规模检索服务提供商把工作重点放在了更人性化的分类上。博客本身就 是一种话题感很强的网络信息形式,把热点话题提取出来作为分类的依据进而 改进检索服务是这类博客搜索引擎的常用技术。 1 4 本文的主要工作 本系统以分析开源搜索引擎n u t c h 为基础,搭建起分布式,以扩展的博客 搜索引擎系统;并针对博客搜索引擎的需求特点,重新组织系统数据结构,重 4 第1 章绪论 写网络爬虫链接分析过滤模块,实现相关排序算法,优化搜索模块,并实现了 中文分词正向最大匹配算法,实现了整个博客搜索引擎系统。 1 5 本文的组织结构 第1 章绪论,主要介绍博客搜索引擎的发展与现状,并指出了本文的主要 工作;第2 章系统架构与设计,主要介绍了n u t c h 体系和博客搜索引擎搭建架 构;第3 章系统实现的关键技术,主要介绍了整个系统搭建的关键技术,及相 关技术问题的处理流程和算法:第4 章系统实现,给出了系统整体实现框架, 及其内部优化部分:第5 章系统分析,给出了系统实现关键技术的实现,以及 程序运行的效果截图,并指出了本系统的研究应用价值。 第2 章系统框架与设计 皇皇皇曼曼皇ii,i,m i _ i i ! 皇曼曼曼曼曼曼曼鼍曼曼曼 第2 章系统架构与设计 博客搜索引擎技术来源于通用搜索引擎技术,本章先分析通用搜索引擎系 统,再在通用搜索引擎的基础上,构建博客搜索引擎系统。 2 1 通用搜索引擎分析 一般来说,搜索引擎基本上分为信息搜集模块、信息索引模块和用户交 互模块三部分口引,如图2 - 1 搜索引擎基本结构所示: 图2 一l 搜索引擎基本结构 f i g u r e2 - 1s e a r c he n g i n eb a s i cs t r u c t u r e l 、信息搜集模块( 爬虫模块) c r a w l e r s p i d e r 信息搜集模块主要作用是从一个初始网页集出发遍历网络,自动采集网络 信息。当爬虫程序进入某个超文本页面时,它利用h t m l 语言的标记结构来搜索 信息和获取指向其他超文本的u r l 链接,通过一定的算法选择下一个要访问的 网络链接,继而转向另一个网络链接继续采集信息。理论上,如果为爬虫程序 建立一个适当的初始网页集,它就可以遍历整个网络。 2 、信息索引模块 索引模块的核心功能是将信息搜集模块采集来的网页进行处理,然后建立 索引入库以备用户检索使用。处理网页主要包括以下几个部分:文本特征提取、 相关度分析、网页筛选、归类和最后的入库。 7 北京工业大学工学硕士学位论文 3 、检索模块 检索模块作为搜索引擎和用户之间交互的接口,首先要分析用户给出的查 询式,然后访问索引数据库,通过匹配算法获得检索结果,最后根据相关度进 行降序排序提交给用户。 2 2 开源搜索引擎n u t c h 介绍 开源搜索引擎n u t c h 体系结构,如图2 - 2n u t c h 体系结构所示: n u t cha r c h i t ect u r e w e bd b 1 rl f e t c hl i s t s 、u p d a t e s c o n t e n t i n d e x e r s s w e bs e r v e r s 鏖翟p 圈蠹掣一 图2 - 2n u t c h 体系结构 f i g u r e2 - 2n u t c ha r c h i t e c t u r e n u t c h 主要分为两个部分:爬虫部分( c r a w l e r ) 和查询部分( s e a r c h e r ) 。 c r a w l e r 主要用于从网络上抓取网页并为这些网页建立索引。s e a r c h e r 主要利 用这些索引,检索用户的查找关键词来产生查找结果。两者之间的接口是索引, 所以除去索引部分,两者之间的耦合度很低。 c r a w l e r 的重点在两个方面,c r a w l e r 的工作流程和涉及的数据文件的格式 和含义。数据文件主要包括三类,分别是网页数据库( w e bd a t a b a s e ) ,一系列 的数据段( s e g m e n t ) 加上索引表( i n d e x ) 。 w e bd a t a b a s e ,也叫w e b d b ,其存储的是爬虫所抓取网页之间的链接结构 信息,它只在爬虫c r a w l e r 工作中使用而和s e a r c h e r 的工作没有任何关系。 w e b d b 内存储了两种实体的信息:网页信息( p a g e ) 和链接关系( 1 i n k ) 。p a g e 实体通过描述网络上一个网页的特征信息来表征一个实际的网页,因为网页有 8 第2 章系统框架与设计 曼曼曼! 蔓! 曼鼍! 皇曼皇曼曼皇曼曼曼曼曼曼! ! 曼! ! 皇曼皇曼! 曼! 曼! 曼皇曼皇l i il 曼曼曼曼曼曼曼皇曼皇曼曼皇曼曼笪曼曼! 蔓曼鼍量皇鼍曼曼 很多个需要描述,w e b d b 中通过网页的u r l 和网页内容的m d 5 两种索引方法对 这些网页实体进行了索引。p a g e 实体描述的网页特征主要包括网页内的l i n k 数目,抓取此网页的时间等相关抓取信息,对此网页的重要度评分等。同样的, l i n k 实体描述的是两个p a g e 实体之间的链接关系。w e b d b 构成了一个所抓取网 页的链接结构图,这个图中p a g e 实体是图的结点,而l i n k 实体则代表图的边。 一次爬行会产生很多个数据段( s e g m e n t ) ,每个s e g m e n t 内存储的是爬虫 c r a w l e r 在单独一次抓取循环中抓到的网页以及这些网页的索引。c r a w l e r 爬行 时会根据w e b d b 中的l i n k 关系按照一定的爬行策略生成每次抓取循环所需的 f e t c hl i s t ,然后抓取方法f e t c h e r 通过f e t c hl i s t 中的u r l s 抓取这些网页 并索引,然后将其存入s e g m e n t 。s e g m e n t 是有时限的,当这些网页被c r a w l e r 重新抓取后,先前抓取产生的s e g m e n t 就作废了。在存储中。s e g m e n t 文件夹 是以产生时间命名的,方便我们删除作废的s e g m e n t s 以节省存储空间。 i n d e x 是c r a w l e r 抓取的所有网页的索引,它是通过对所有单个s e g m e n t 中的索引进行合并处理所得的。n u t c h 利用l u c e n e 技术进行索引,所以l u c e n e 中对索引进行操作的接口对n u t c h 中的i n d e x 同样有效。但是需要注意的是, l u c e n e 中的s e g m e n t 和n u t c h 中的不同,l u c e n e 中的s e g m e n t 是索引i n d e x 的 一部分,但是n u t c h 中的s e g m e n t 只是w e b d b 中各个部分网页的内容和索引, 最后通过其生成的i n d e x 跟这些s e g m e n t 已经毫无关系了。 开源搜索引擎n u t c h 的主要工作流图,如图2 3 所示: 图2 - 3n u t c h 工作流图 f i g u r e2 - 3n u t c hw o r k f l o w 9 甲; 国。 甲削。 北京丁业大学1 = 学硕士学位论文 c r a w l e r 工作流程: 在分析了c r a w l e r 工作中设计的文件之后,接下来我们研究一下c r a w l e r 的抓取流程以及这些文件在抓取中扮演的角色。c r a w l e r 的工作原理主要是: 首先c r a w l e r 根据w e b d b 生成一个待抓取网页的u r l 集合叫做f e t c hl i s t ,接 着下载线程f e t c h e r 开始根据f e t c hl i s t 将网页抓取回来,如果下载线程有很 多个,那么就生成很多个f e t c hl i s t ,也就是一个f e t c h e r 对应一个f e t c hl i s t 。 然后c r a w l e r 根据抓取回来的网页w e b d b 进行更新,根据更新后的w e b d b 生成 新的f e t c hl i s t ,查看里面是否存在未抓取的或者新发现的u r l s 。若无,则停 止;若有则下一轮抓取循环重新开始。这个循环过程可以叫做“产生抓取更 新”循环。 指向同一个主机上w e b 资源的u r l s 通常被分配到同一个f e t c hl i s t 中, 这样的话防止过多的f e t c h e r s 对一个主机同时进行抓取造成主机负担过重。 另外n u t c h 遵守r o b o t se x c l u s i 0 1 3p r o t o c o l ,网站可以通过自定义r o b o t s t x t 控制c r a w l e r 的抓取。 在n u t c h 中,c r a w l e r 操作的实现是通过一系列子操作的实现来完成的。 这些子操作n u t c h 都提供了子命令行可以单独进行调用。下面就是这些子操作 的功能描述以及命令行,命令行在括号中: 1 ) 创建一个新的w e b d b ( a d m i nd b - c r e a t e ) ; 2 ) 将抓取起始u r l s 写入w e b d b 中( i n j e c t ) ; 3 )根据w e b d b 生成f e t c hlis t 并写入相应的s e g m e n t ( g e n e r a t e ) ; 4 )根据f e t c hl i s t 中的u r l 抓取网页( f e t c h ) : 5 )根据抓取网页更新w e b d b ( u p d a t ed b ) ; 6 ) 循环进行3 - - 5 步直至预先设定的抓取深度; 7 ) 根据w e b d b 得到的网页评分和1 i n k s 更新s e g m e n t s ( u p d a t es e g s ) ; 8 )对所抓取的网页进行索引( i n d e x ) : 9 )在索引中丢弃有重复内容的网页和重复的u r l s ( d e d u p ) ; 1 0 ) 将s e g m e n t s 中的索引进行合并生成用于检索的最终i n d e x ( m e r g e ) 。 c r a w l e r 详细工作流程是:在创建一个w e b d b 之后( 步骤1 ) ,“产生抓取 更新”循环( 步骤3 6 ) 根据一些种子u r l s 开始启动。当这个循环彻底结束, c r a w l e r 根据抓取中生成的s e g m e n t s 创建索引( 步骤7 1 0 ) 。在进行重复u r l s 清除( 步骤9 ) 之前,每个s e g m e n t 的索引都是独立的( 步骤8 ) 。最终,各个 独立的s e g m e n t 索引被合并为一个最终的索引i n d e x ( 步骤i 0 ) 。 s e a r c h e r 部分:n u t c h 的s e a r c h e r 部分是应用开源项目l u c e n e 做的。n u t c h s e a r c h e r 应用开源软件包l u c e n e 提供的数据处理接口,将c r a w l e r 中爬取到 的网页文档进行相应的处理。 l o 第2 章系统框架与设计 2 3 信息检索开源软件包k u c e n e 介绍 l u c e n e 是一个高性能的、可扩展的信息检索工具库。它是一个纯j a v a 实 现的成熟、自由、开源的软件项目;它是开源组织a p a c h ej a k a r t a 的成员项目, 基于a p a c h e 软件许可协议的授权。它的a p i 简单易用且功能强大,用户可以很 容易地实现包括模糊查询、分组查询等在内的索引、分析功能。l u c e n e 的索引 文件格式独立于应用平台,使索引文件能够跨平台共享。分块索引文件,通过 为新增的文件单独创建索引再合并的方式可获得高速和优化的索引功能。因此, 目前,l u c e n e 已经成为最受推崇和青睐的j a v a 开源信息检索工具库。l u c e n e 系统结构如图2 - 4l u c e n e 系统结构所示: 图2 - 4l u c e n e 系统结构 f i g u r e2 - 4l u c e n es t r u c t u r e l u c e n e 是一个优秀的全文检索引擎工具包,主要包括7 个子包,每个包完 成特定的功能,如表2 - 1l u c e n e 结构功能表所示。 表2 - 1l u c e n e 结构功能表 t a b l e2 1l u c e n es t r u c t u r ef u n c t i o nt a b l e 1 7 j 包名7。, 功能 “,。,。i 蕴 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 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 数据存储管理。主要包括一些底层的i o 操作。 o r g a p a c h e 1 u c e n e u t i l 一些公共类。 北京1 二业大学工学硕士学位论文 l u c e n e 索引过程分为三个主要的操作阶段:将数据转换成文本、分析文本、 并将分析过的文本保存到索引库中。如图2 - 5l u c e n e 工作流图所示: 图2 - 5l u c e n e 工作流图 f i g u r e2 - 5l u c e n ew o r kf l o w 2 4 博客搜索引擎架构 博客搜索引擎系统需求:本博客搜索引擎系统是基于传统搜索引擎技术开 发的,但它并不完全等同于传统搜索引擎,它是对通用搜索引擎搜索对象的一 次细化。这就要求本系统在对w e b 博客资源的检索具备通用搜索引擎检索一般 化资源的能力的同时,还要适应博客资源的特殊性。这种特殊性如前文绪论所 述,就是博客资源较一般网络资源所更为突出的不确定性。这种较强的不确定 性使博客资源在某种程度上围绕某一或某些热点话题联系在一起,为博客搜索 引擎系统的设计开辟了不同于传统搜索引擎技术的新的研究方向。 博客搜索引擎系统功能性需求: 1 ) w e b 上博客资源的爬取; 2 ) 根据一个或多个关键词的组合对博客网页内容进行检索。 非功能性需求: 1 ) 要求博客搜索引擎适应不同平台、网络等各种复杂的环境; 2 ) 要求博客搜索引擎具有先进的查询算法,并且能满足较好的排序要求; 1 2 第2 章系统框架与设计 3 ) 需要对分布式处理的支持,以使系统可以在多台机器上分布运行,并 需要具有较好的可扩充性。 本系统借助开源搜索引擎n u t c h 来做为博客搜索引擎系统的开发基准。整 个功能架构中,主要包括四个重要的存储库和五个主要模块。 1 存储库 1 ) c r a w l d b - 爬取信息库。用来存储博客网页的特征信息和在爬取过程中 的状态,用是否爬取、爬取时间、更新时间等信息标注每个收集到的博客网页。 信息收集过程中,正是根据c r a w l d b 的信息,来生成爬取列表的。且更新c r a w l d b 时进行动态更新网页重要度评分,以此作为网页排序的依据。 2 ) l i n k d b :链接库。用来记录每个u r l 已知的链接信息。包括每个链接 的锚文本和来源u r l 。经过分析统计,绝大多数的博客网页作者出于对写作及 管理个人资源的需要,都对链接的锚文本作了较为规范的书写;因此这里记录 的锚文本可以用来参与预测博客网页的主题,从而计算网页之间的相似度;且 在i n d e x 模块中被当作一个重要的域来建立索引。 3 ) p a g e d b :网页库。用来存储爬取到的博客网页的详细信息: c o n t e n t :抓取回来的网页内容,包括h t t p 头信息和其它元信息; f e t c h e r :保存的是抓取状态信息,包括:版本、爬取列表项、m d 5 h a s h 、 协议状态、爬取时间等。 f e t c h li s t :待抓取的u r l 列表。包括:博客网页版本、是否抓取标志、 锚的个数、每个a n c h o r 字符串等。 p a r s e d a t a :存放博客网页的元数据。 p a r s e t e x t :存放博客网页文本数据,这也是网页库里最重要的一个数 据域。 4 ) i n d e x d b :索引库。系统将爬取到的博客网页信息提取后转化成文本信 息的格式建立索引,并存储在该数据库中,用来构成其检索功能的数据源。索 引记录的主要字段包括:u r l 、t i t l e 、c o n t e n t 、a n c h o r 等。其中c o n t e n t 是博

温馨提示

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

最新文档

评论

0/150

提交评论