1学号________________密级________________武汉大学本科毕业论文WEB搜索引擎分析设计与实现院(系)名称:国际软件学院专业名称:软件工程学生姓名:吴攀指导教师:杨宗亮二○○九年六月2BACHELOR'SDEGREETHESISOFWUHANUNIVERSITYTheanalysis,designandaccomplishmentoftheWEBSearchEngineCollege:InternationalSchoolofSoftwareSubject:SoftwareEngineeringName:WUPanDirectedby:YANGZongliangJune20093郑重声明本人呈交的学位论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本学位论文的知识产权归属于培养单位。本人签名:日期:I摘要随着互联网的高速发展,信息在海量的增长。用户想要寻找到一些有用的知识非常困难,于是搜索引擎应运而生,满足广大用户的需要,现在人们已经把搜索引擎当做日常学习、工作、休闲不可缺少的一个工具。大家都知道用搜索引擎可以快速地找到自己所要的资料或信息,那么搜索引擎是怎么工作的呢?本文将会对这个问题进行解答。本文首先介绍了基于Internet的搜索引擎的系统结构以及主流搜索引擎的工作原理,并利用目前流行的Heritrix+Lucene框架,分析、设计、实现了“SoEdu”搜索引擎。论文中附上了搜索引擎的实现代码,并配上贴图,力图使本文生动,容易理解。关键词:搜索引擎索引HeritrixLuceneIIAbstractAlongwiththehighspeeddevelopmentoftheInternet,theinformationintheInternetisincreasingmagnanimity.It’sverydifficultforuserstofindsomeusefulinformationintheInternet.SotheSearchEngineappealstomeettheusers’requirements.Thepeoplealreadytreateditasanessentialtoolforstudy,workandtheleisureactivities.Everybodyknowswiththesearchengineonemaygetthematerialorinformationthathewantstofind,andthenhowdoesthesearchenginework?Thethesiswillanswerthisquestion.Firstofall,thethesisintroducesthesystemstructureofthesearchenginebasedontheInternetandthetheoryofthepopularsearchengine,andusesthepopularframeworkofHeritrixandLucene.Thenanalyze,designandimplement”SoEdu”searchengine.Inthethesistherearesomecorecodeandpicturestomakemythesisvividandunderstanding.Keywords:SearchEngineIndexHeritrixLuceneIII目录第1章绪论.......................................................11.1课题背景....................................................11.2国内外关于该论题的研究现状和发展趋势........................11.3本文内容安排................................................2第2章搜索引擎概述.............................................32.1搜索引擎定义................................................32.2搜索引擎起源及发展..........................................32.3搜索引擎分类................................................42.3.1全文搜索引擎...........................................52.3.2目录索引...............................................52.3.3元搜索引擎.............................................5第3章搜索引擎的原理...........................................73.1网络蜘蛛....................................................73.2索引与搜索..................................................9第4章搜索引擎的分析..........................................104.1heritrix介绍、分析.........................................104.1.1heritrix介绍.........................................104.1.2Heritrix分析.........................................104.2Lucene介绍、分析...........................................154.2.1Lucene介绍...........................................154.2.2Lucene分析...........................................16第5章搜索引擎的设计及实现...................................185.1系统功能描述...............................................185.2系统架构...................................................195.3实现过程...................................................195.3.1数据采集..............................................195.3.2索引子系统............................................235.3.3检索子系统............................................27第6章项目总结以及未来工作展望..............................336.1项目总结...................................................336.2未来工作展望...............................................33参考文献.........................................................34致谢...........................................................351第1章绪论1.1课题背景在信息大爆炸时代下,全球信息量每隔20个月就增加一倍,而这个增长速度还会进一步增加,信息增长呈现速度惊人,来源广泛,种类繁多,数量巨大的状态。2006年制造、复制出的数字信息量共计1610亿GB,开启了前所未有的信息增长时期。这些数字信息大约是现有书籍所含信息的300万倍,如果将书籍排列起来,总长度为地球到太阳距离(约1.5亿公里)的12倍。据IDC报告显示,至2010年,这个数字将猛增到6倍,达9880亿GB,年复合增长率为57%[1]。面对极度膨胀的信息量,人们受到“信息爆炸”、“混沌信息空间(InformationChaoticSpace)”和“数据过剩(DataGult)”[2]的巨大压力。这种爆发性增长将改变机构和IT专业人员的工作方式以及消费者使用信息的方式,因此,如何从海量的信息得到有用的信息是大家关注的焦点。从上世纪90年代互联网开始兴起,人们在方便的获得网上信息的同时,也越来越难搜索到对自己有价值的信息。显然,通过浏览一个又一个的网页寻找所需要的信息已经不太现实,于是大多数人依赖搜索引擎来帮助自己来获得有用的信息,因此搜索引擎成为继电子邮件之后最典型的WEB应用。早在WEB出现以前,互联网上就已经存在很多旨在让人们共享的信息资源了。那些资源当时主要存在于各种允许匿名访问的FTP站点(anonymousftp),内容以学术技术报告、研究性软件居多,它们以计算机文件的形式存在,文字材料的编码通常是PostScript或者纯文本。为了便于人们在分散的FTP资源中找到所需的东西,1990年出现了一个软件Archie,它可以说是所有搜索引擎的始祖。1.2国内外关于该论题的研究现状和发展趋势中文搜索引擎带有的数据库容量小,尚未形成大型的检索系统,大型、综合、集成的元搜索引擎还没有开发出来,专业性和专题性中文搜索引擎亟需2研究开发[3]。因特网搜索引擎既是一门技术,又是一项服务,因此搜索引擎的发展应该包括搜索引擎产品技术的研发及其服务方式的改进与发展。但是,不管搜索引擎技术如何发展,服务方式如何改进,都不应偏离用户快速、准确、方便查找信息的主导方向。提供经过甄别、筛选、评价和专家推荐的网站信息无疑是高质量搜索引擎永恒不懈的追求,是搜索引擎智能化与专家系统交汇融合的结果。基于问题的搜索技术可能将成为未来搜索引擎发展的新趋势,同时方便使用与查全率、查准率的协调发展也是不可忽视的方面。1.3本文内容安排本文章节安排如下:第2章介绍了搜索引擎的定义,搜索引擎起源及发展和搜索引擎的分类;第3章介绍了搜索引擎的原理,其中着重介绍了网络蜘蛛“Spider”,索引和搜索;第4章从分析并设计“SoEdu”搜索引擎,先介绍heritrix和Lucene的基本原理从而分析将要实现的搜索引擎;第5章将深入设计“SoEdu”并实现“SoEdu”搜索引擎,伴以代码及贴图;第6章总结本系统的开发过程中遇到的问题,并对搜索引擎发展趋势进行讨论。3第2章搜索引擎概述2.1搜索引擎定义到目前为止还没有比较确切的搜索引擎的定义,在本文中搜索引擎指的是一中在Web上应用的软件系统,它以一定的策略在Web上搜集和发现信息,在对信息进行处理和组织后,为用户提供Web信息查询系统[4]。2.2搜索引擎起源及发展如前面所说搜索引擎的起源点,是1990年由Montreal的McGillUniversity三名学生(AlanEmtage、PeterDeutsch、BillWheelan)发明的Archie(ArchieFAQ)。Archie是第一个自动索引互联网上匿名FTP网站文件的程序,但它还不是真正的搜索引擎。Archie是一个可搜索的FTP文件名列表,用户必须输入精