1 / 30
文档名称:

搜索引擎.doc

格式:doc   大小:554KB   页数:30页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

搜索引擎.doc

上传人:Alphago 2022/11/26 文件大小:554 KB

下载得到文件列表

搜索引擎.doc

文档介绍

文档介绍:该【搜索引擎 】是由【Alphago】上传分享,文档一共【30】页,该文档可以免费在线阅读,需要了解更多关于【搜索引擎 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。内蒙古工业大学本科毕业设计说明书
学校代码:10128
学号:040201117
本科毕业设计说明书
(
题目:搜索引擎的系统体系结构的研究与应用
学生姓名:李敏
学院:信息工程学院
系别:计算机系
专业:计算机科学与技术
班级:计算机04-2班
指导教师:苏依拉副教授
钱庭荣工程师
二○○八年六月
内蒙古工业大学本科毕业设计说明书
摘要
近年来,互联网上的信息呈几何级数爆炸性增长,丰富多彩的网络资源给人们的生活工作以及学****带来巨大方便的同时,信息的浩繁,庞杂无序和动态性又极大地影响了用户获取信息的速度,准确性和有效性。海量的存贮和科学的信息搜索是用户信息行为中两种重要的能力,互联网的发展已经实现了信息的海量存贮,为了解决大海捞针似的信息搜索问题,搜索引擎便应运而生了。目前搜索引擎技术已成为计算机工业界和学术界争相研究和开发的热点技术。
对于实现网络信息的海量搜索,搜索引擎的体系结构设计成为提高搜索效率的关键。本文中所设计的搜索引擎,主要有四个大的模块组成:一是抓取模块:实现了对网页信息的下载。二是索引模块:实现了对网页信息的排序,索引。三是搜索模块:实现了对网页信息的快速检索。四是用户接口:实现了系统的前台操作。
本系统是对网站数据及相关数据库数据进行搜索,管理配置了对应数据源和搜索途径,实现了对网络信息的快速搜索。
关键词:搜索引擎;体系结构;索引
内蒙古工业大学本科毕业设计说明书
Abstract
',thevoluminousofinformation,andthedynamicandmixeddisorganizationalsogreatlyaffectthespeed,theaccuracy,,technologyofsearchenginehasbecomethehottechnologyofresearchinganddevelopingincomputerindustryandacademia.
Fortheachievementofmassivesearchingofnetworkinformation,::thesearchengineanddatasourcesconnectedtotheestablishment,,theindexingmodule:,thesearchmodules:itrealizedtherapidretrievalofinformationpages.
Thissystemistosearchthesiteofdataanddatarelatedtothedatabaseandmanagementconfigurationofthecorrespondingdatasourcesanditrealizesrapidresearchofnetworkinformation.
Keywords:Searchengine;Architecture;Index
目录
引言 1
第一章搜索引擎的系统结构 2
2
2
2
2
2
2
第二章系统设计的相关知识介绍 4
4
4
4
5
5
5
6
第三章系统需求分析 8
8
8
8
8
8
8
9
9
9
10
第四章系统详细设计 11
11
内蒙古工业大学本科毕业设计说明书
11
11
12
12
13
14
15
第五章系统的实现 16
16
17
17
18
20
结论 21
参考文献 22
谢辞 23
内蒙古工业大学本科毕业设计说明书
1
引言
信息技术的不断发展,特别是互联网应用的迅速普及,深入到了人们生活的各个方面,改变了人们生活方式和思维方式,方便了全球信息资源共享。全球目前的网页超过100亿,每天新增加数百万网页,电子信息爆炸似的丰富起来。要在如此浩瀚的海洋里寻找信息,就像“大海捞针”一样。能有一种工具使我们可以在不到1秒钟的时间就迅速找到我们想要的内容吗?答案是“有”,这就是搜索引擎。今天,搜索引擎已成为人们在网络信息海洋中自如冲浪必不可少的利器。
搜索引擎是对WWW(WorldWideWeb)站点的信息资源进行标引和检索的系统,主要负责组织信息和根据需要提供信息,被人们誉为“网络门户”。但不论使用哪种搜索引擎,查准率、查全率和响应时间都是用户最关心的基本问题。然而,目前还没有一种搜索引擎能覆盖因特网全部资源,即使功能最完善的搜索引擎也只能找到Web上大约1/3的网页,查全率也无法保证。另一方面,由于网络资源的海量、繁杂无序、网页的无效链接、查询结果重复等问题,都大大降低了搜索引擎的查准率。因而如何优化搜索引擎成为人们研究的热点。对于优化搜索引擎,其系统体系结构的设计是搜索引擎优化成功的关键[1]。
本系统实现了一个简单的全文搜索引擎,针对搜索引擎的系统体系结构作了初步的研究。
内蒙古工业大学本科毕业设计说明书
3
第一章搜索引擎的系统结构

搜索引擎又称检索引擎或查询引擎。它能够通过Internet接收到用户的查询请求,再以一定的方法在互联网中搜索信息,对信息进行理解、提取、组织和整合,并为用户提供检索服务,从而起到信息导航的作用。为了保证用户查找信息的精度和新鲜度,搜索引擎需要建立并维护一个庞大的索引数据库。一般的搜索引擎由网络机器人程序、索引与搜索程序、索引数据库等部分组成[5]。


网络机器人也称为“网络蜘蛛”(Spider),是一个功能很强的WEB扫描程序。它可以在扫描Web页面的同时检索其内的超链接并加入扫描队列等待以后扫描。因为Web中广泛使用超链接,所以一个Spider程序理论上可以访问整个Web页面。它从一个简单的Web页面上开始执行,然后通过其超链接再访问其他页面,如此反复扫描互联网上的所有页面。网络机器人还可以通过扫描Web站点的主页来得到这个站点的文件清单和层次机构,也可以扫描出中断的超链接和拼写错误等。
为了保证网络机器人遍历信息的广度和深度需要设定一些重要的链接并制定相关的扫描策略。

网络机器人将遍历得到的页面存放在临时数据库中,如果通过SQL语句直接查询信息速度将会难以忍受。为了提高检索效率,需要建立索引,按照倒排文件的格式存放。如果索引不及时更新的话,用户用搜索引擎也不能检索到要搜索的内容。
用户输入搜索条件后搜索程序将通过索引数据库进行检索然后把符合查询要求的数据按照一定的策略进行分级排列并且返回给用户。

客户一般通过浏览器进行查询,这就需要系统提供Web服务器并且与索引数据库进行连接。客户在浏览器中输入查询条件,Web服务器接收到客户的查询条件后在索引数据库中进行查询、排列然后返回给客户端。

搜索引擎的主要指标有响应时间、召回率、准确率、相关度等。这些指标决定了搜索引擎的技术指标。搜索引擎的技术指标决定了搜索引擎的评价指标。好的搜索引擎应该是具有较快的反应速度和高召回率、准确率的,当然这些都需要搜索引擎技术指标来保障。
内蒙古工业大学本科毕业设计说明书
3
召回率:一次搜索结果中符合用户要求的数目与用户查询相关信息的总数之比。
准确率:一次搜索结果中符合用户要求的数目与该次搜索结果总数之比。
相关度:用户查询与搜索结果之间相似度的一种度量。
精确度:对搜索结果的排序分级能力和对垃圾网页的抗干扰能力。
内蒙古工业大学本科毕业设计说明书
4
第二章系统设计的相关知识介绍

Lucene是一个高性能、可伸缩的信息搜索库。它使你可以为你的应用程序添加索引和搜索能力。Lucene是用java实现的成熟的、免费的开源项目,是著名的ApacheJakarta大家庭的一员,并且基于在Apache软件许可。同样,Lucene是当前与近几年内非常流行的免费的Java信息搜索库。Lucene最初是由DougCutting开发的在SourceForge的网站上提供下载。在2001年9月做高质量的开源Java产品加入到Apache软件基金会的Jakarta家族中[9]。

Lucene是一个软件库,一个开发工具包,而不是一个具有完整特征的搜索应用程序。它本身只关注文本的索引和搜索,并且这些事它完成的非常好。Lucene使得应用程序只针对它的问题域来处理业务规则,而把复杂的索引和搜索实现隐藏在一组简单易用的API之后。Lucene可以索引并能使得可以转换成文本格式的任何数据能够被搜索。它并不关心数据的来源、格式甚至它的语言,只要能将它转换为文本。这就意味着我们可以经索引并搜索存放于文件中的数据。

Lucene是一个Java库,它并不限定索引和搜索的内容。它可以为应用程序添加索引和搜索能力。Lucene提供了一组简单却足够强大的核心API,只需要最小限度地理解全文索引和搜索。并且利用Lucene可以索引存放于数据库中的数据,提供给用户很多数据库没有提供的全文搜索的能力。一旦集成了Lucene,应用程序的用户就能够像这样来搜索:+George+Rice-eat-pudding,Apple-pie+Tiger,animal:monkeyANDfood:banana等等。利用Lucene,可以索引和搜索email邮件,邮件列表档案,即时聊天记录,你的Wiki页面等等。这使得它比其它一些搜索程序更有优势。
Lucene作为一个全文检索引擎,其具有如下突出的优点:
(1)索引文件格式独立于应用平台。Lucene定义了一套以8位字节为基础的索引文件格式,使得兼容系统或者不同平台的应用能够共享建立的索引文件。
(2)在传统全文检索引擎的倒排索引的基础上,实现了分块索引,能够针对新的文件建立小文件索引,提升索引速度。然后通过与原有索引的合并,达到优化的目的。
(3)优秀的面向对象的系统架构,使得对于Lucene扩展的学****难度降低,方便扩充新功能。
内蒙古工业大学本科毕业设计说明书
6
(4)设计了独立于语言和文件格式的文本分析接口,索引器通过接受Token流完成索引文件的创立,用户扩展新的语言和文件格式,只需要实现文本分析的接口。
(5)已经默认实现了一套强大的查询引擎,用户无需自己编写代码即使系统可获得强大的查询能力,Lucene的查询实现中默认实现了布尔操作、模糊查询、分组查询等等。

JSP(JavaServer Pages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,在传统的网页HTML文件(*.htm,*html)中加入java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。web服务器在遇到发送访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送Email等等。这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无JavaApplet,甚至无Frame。使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。 JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。

JSP能在webServer(尤其是JSWDK)端整合Java语言至HTML网页的环境中,然后利用HTML网页内含的Java程序代码取代原有的CGI、ISAPI或者IDC的程序,以便执行原有CGI/WinCGI、ISAPI的功能[15]。
对应于Client端(指的是浏览器端的HTML文件)内嵌的描述语言,Sun公司提供的JSWDK-,它便是Java语言。由于JSP放置在Web务器上,它在解析使用者由表单(From)传送过来的字段数据后,接着通过适当的逻辑生成标准HTML文件,然后传给客户端。

Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求而变化的,例如请求账户信息或者特定的一瓶酒的价格),其生成内容的逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件、使用JDBCTM技术访问数据库等),并且将结果以HTML(或者
内蒙古工业大学本科毕业设计说明书