基于ASP.Ne搜索引擎的设计与实现.doc
《基于ASP.Ne搜索引擎的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于ASP.Ne搜索引擎的设计与实现.doc(30页珍藏版)》请在沃文网上搜索。
1、 目 录摘要3ABSTRACT4第一章 绪论51.1搜索引擎的背景及意义51.2 搜索引擎的现状6第二章 搜索引擎概述82.1 搜索引擎的概念82.2 搜索引擎的发展82.3 搜索引擎的工作原理92.4 .NET简介10第三章 搜索引擎的设计113.1网页搜集113.1.1网络爬虫的介绍113.1.2网络爬虫设计123.1.3网络蜘蛛的实现143.1.4数据库设计163.2 网页的信息处理163.2.1 倒排索引163.2.2 Lucene.Net介绍173.2.3索引结构193.2.4中文分词技术213.3 查询信息243.3.1查询实现253.3.2 word文档查询263.3.3关键字高
2、亮显示27第四章 用户接口设计284.1用户注册、登陆284.2查询扩展284.3个性化查询294.4 系统数据库设计30第五章 测试与评价315.1查询测试315.2评价32第六章 结论和展望33参考文献35致 谢36附 录37摘要互联网的快速发展使得网络中的信息量越来越大,普通用户对信息的检索越来越困难。搜索引擎的出现大大的该少了这种情况,互联网的快速发展也使搜索引擎的不断的发展着,而搜索引擎的逐渐转向商业化运行,使得搜索引擎的技术细节越来越隐蔽。本文以搜索引擎的三个基本功能:网页爬取、网页处理、查询服务为出发点,并按这三个功能将系统进行功能模块划分,以ASP.NET技术作为基础,实现了一
3、个搜索引擎。网页中存在着大量链接的同时也具有众多的冗余信息,例如,导航信息条、广告栏、版权信息等,这些冗余信息大大限制了网页的可用性,因此在本文中网页爬取的重点就是如何快速的提取这些链接,而网页处理的重点则是去除网页中的冗余信息。本文利用正则表达式的灵活性实现了对网页中链接地址的提取和网页中冗余信息的剔除。在获取链接地址进行网页爬取的同时对网页信息进行提取,同时基于最大化匹配算法实现中文分词算法,并利用DotLucne提供的接口功能成功实现对提取网页信息的索引,经过网页信息的提取和分词预处理,检索过程建立的索引更小,检索的效率和结果更加理想,并基于此索引为用户的查询请求提供服务。关键词:搜索引
4、擎;网页爬取;ASP.net;中文分词;AbstractWith the rapid developnebt of the Internet,it has become the largest information source in our life.Information search an retrieval for ordinary users become more and more difficult.The emergence of search engines greatly improves this situation.Search engine has made a c
5、onstant development with the development of the Internet,but uts gradually shifting to conmmercial operation makes the technical details of search engine more and more hidden.With the start point of three basic requirments of search engines as Web Spider,PagesProcessing and Providing Servives,this p
6、aper divides the system into three functional modules,and based on ASP.NET,this paper explores the principle and realizes one search engines.In web pages,three are a large number of links,how to fetch out these links fast is the key point of the Web Spider in these paper.At the same time,web pages c
7、ontain a lot of redundant informationg,navigation tools,advertising fields,copyright information and so on,these redundant information limit the availability of information.So how to remove the redundant information is focus of the page processing.As regular expressiongsflexibility,this paper uses r
8、egular expressions to achieve the extraction of linksand remove redundant information in web pages.Extraction of pagesinformation is doing while Web Spider is fetching pages.After that,this paper realizes Chinese Word Segmentation based on Maximum Matching,and achieves indexing of pagesinformation w
9、ith the interface of Lucene.Net.After the information extraction and segmentation pre-processing, the index is much smaller and the retrieval efficiency and resultsaccuracy is more satisfactory.Based on this index,system provides services for the usersquery request.KeyWords: Search Engine; Spider; A
10、SP.net; Chinese words segmentation第一章 绪论1.1搜索引擎的背景及意义搜索引擎(Search Engine)是指根据一定的策略、运用特定的计算机程序搜集互联网上的信息,在对信息进行组织和处理后,为用户提供检索服务的系统。而从使用者的角度看,搜索引擎提供了一个包含搜索框的页面,在搜索框输入词语,通过浏览器提交给搜索引擎后,搜索引擎就会返回跟用户输入的内容相关的信息列表。1990年以前,没有任何人能搜索互联网。1990年诞生的Archie 是一个可以用文件名自动索引互联网上匿名FTP网站文件的程序,它实现了搜索,但还不是真正的搜索引擎。现代意义上的搜索引擎出现于
11、1994年7月,当时Michael Mauldin将JohnLeavitt的蜘蛛程序接入到其索引程序中,创建了大家现在熟知的Lycosa。1995年末,Altavista永远改变了搜索引擎的定义,AItavista是第一个支持自然语言搜索的搜索引擎,也是第一个实现高级搜索语法的搜索引擎。1998年,Google在Pagerank、动态摘要、网页快照、DailyRefresh、多文档格式支持、地图股票词典寻人等集成搜索、多语言支持、用户界面等功能上的革新,象Altavista一样,再一次永远改变了搜索引擎的定义。现阶段,出现Ask Jeeves, B, G,MySimon,Dito等内容类别不同
12、的搜索引擎。从出现第一个搜索引擎至今,搜索引擎技术已获得了飞速的发展,现在的搜索引擎功能越来越强大,提供的服务也越来越全面,它们的目标不仅仅是提供单纯的查询功能,而是把自己发展成为用户首选的Internet入口站点。互联网被普及前,人们查阅资料首先想到的便是拥有大量书籍的图书馆,而在当今很多人都会选择一种更方便、快捷、全面、准确的方式互联网如果说互联网是一个知识宝库,那么搜索引擎就是打开知识宝库的一把钥匙搜索引擎是随着WEB信息的迅速增加,从1995年开始逐渐发展起来的技术,用于帮助互联网用户查询信息的搜索工具搜索引擎以一定的策略在互联网中搜集、发现信息,对信息进行理解、提取、组织和处理,并为
13、用户提供检索服务,从而起到信息导航的目的目前搜索引擎已经成为倍受网络用户关注的焦点,也成为计算机工业界和学术界争相研究、开发的对象1.2 搜索引擎的现状随着个人计算机的普及和网络技术的发展, 越来越多的数据和信息可以从网络上无偿获取。比如,目前Google已经可以搜索约31亿个网页。这样一个浩瀚的信息海洋,是人类共同创造的精神财富,其中包含很多对生活和科研非常有价值的信息。但是,从这个数据的海洋中检索到我们所需要的信息,真所谓“大海捞针”。没有网络搜索引擎(Search Engine)技术这简直是不可能的。网络搜索是每一个网络用户所关心的问题,也是研究信息检索和处理的工作者所面临的巨大挑战。
14、网络搜索牵扯到很多研究领域,如信息检索、数据库、数据挖掘、系统技术、多媒体、人工智能、计算机网络、分布式处理、数字图书馆、自然语言处理等许多领域的理论和技术,并已成为一种综合性的技术。以前数据库技术主要处理的是结构化的数据(能以二维表格的形式来表示),通过查询语言,能够得到准确的结果。然而更多的数据和信息是无法用二维表格来表示,特别是一些电子文档和WEB页(称为无结构数据或半结构数据)。因此和数据库检索不同的是,信息检索得到的结果是近似(相似)结果而非确切结果。 因特网出现之前,搜索引擎也存在并发挥着作用,搜索范围从简单文本到大容量数据库不断发展,搜索技术从关键词查找到全文检索不断进步。迅速发
15、展的因特网改变了一切,新的网络搜索引擎比传统搜索引擎有了质的飞跃。传统搜索引擎面对的是增长缓慢的、有限的数据,而且数据的格式非常统一,但是网络搜索引擎面对的是指数增长的、几乎无限的数据,数据内容格式各不相同。网络数据还有其自身的特点如包含有大量的“垃圾”数据,网页之间有链接(Hyper-link),即使是近似内容的网页也可能在网页设计,用词造句等方面有很大的差距。这些特点和现实使得传统搜索引擎技术的算法无法适用于面对海量数据的网络搜索。现代的网络搜索引擎技术已同传统的搜索引擎技术在算法、计算环境、理论模型等方面有了根本的不同,不仅可以根据(网络)文档的内容,文档之间的链接,还可以根据用户对网页
16、的访问模式进行计算等。 现代搜索引擎与传统搜索引擎都有共同的目标,就是查全与查准,只不过新的时代环境为新技术赋予了更多的内涵。从结构上看,现代搜索引擎主要有搜集(Robot或Spider的作用)、索引、查询,排序及结果处理五部分。其中索引和排序是核心技术,也是目前研究的重点。目前的搜索引擎还是基于关键词的,往往一个关键词带来成千上万的搜索结果。用户不可能一一查看每一个搜索结果,因此搜索结果的排序非常重要。例如一个用户输入关键词“哈佛” 进行搜索,他很可能想看的结果是哈佛大学的主页,而不是随便的一个恰巧包含“哈佛”一词的网页。所以一个好的搜索引擎会在提供给用户的结果中将一些“高质量”的网页排在前
17、面。然而什么样的网页能称为”高质量”,不同的用户可能有不同的看法。从目前的研究和应用角度来说,既该网页包含关于某个“主题”的具体信息,同时被“很多”其它“高质量”的网页所链接指向。 不同领域的研究人员目前正在从不同的角度努力提高搜索引擎的性能。如数据库研究人员考虑如何能从网页中抽取出结构化的数据信息来,如何提高检索机制,信息检索的研究人员考虑如何能将“垃圾”网页去除,检索结果进行有效分类来方便用户的查看,如何对不同的用户(即使是相同的搜索关键词)提供不同的搜索结果来满足不同用户的需求。同时现代搜索引擎也引起一些相关的研究课题,如信息抽取,链接分析,服务器“日志”分析(以得到访问用户的行为兴趣模
18、式),推荐系统(如AMAZON网上书店的推荐系统)等。同时我们也看到基于关键词的搜索有其局限性,而且这种局限性随着网络的发展也日渐明显。很多情况下,用户的需求不能仅用几个关键词表达清楚,甚至在很多情况下用户本身也不是很清楚自己的搜索要求,这时候需要搜索引擎能够进行多层次的搜索,从粗到细,逐步精化和缩小搜索范围。 目前商业用的搜索引擎很多,如Yahoo, Google等。 因特网使得技术的发展日新月异。处在“知识经济”基础设施地位的网络搜索引擎必将得到更多的重视与发展,同时也充满着机遇与挑战。第二章 搜索引擎概述2.1 搜索引擎的概念随着信息的科学技术的不断发展,网络已经成为人么生活中的重要组成
19、部分,互联网作为信息交流的中心与枢纽,作用愈显重要。互联网上有众多却杂乱无章的信息,而且各种信息以几何级数的方式增长,大量信息扑面而来,怎么样快速,准确,简单地获取人们需要的信息,成为人们迫切需要解决的问题。在此情况下,搜索引擎诞生了,进过数十年的发展,目前已经成为人们日常生活中必不可少的工具。搜索引擎是指根据一定的策略,引用特定的计算机程序搜集互联网上信息,在对信息进行组织和处理后,为用户提供检索服务的系统。搜索引擎一般由搜索器、索引器、检索器和查询器4个部分组成。1)搜索器在互联网中发现并且取回尽量多的网页信息;2)索引器将搜索器所搜索到的网页信息切分成多个关键字,以关键字作为索引项,用于
20、表示文件以及生成文件库的索引表;3)检索器根据用户的查询在索引库中快速检索文件,进行相关度匹配,对检索到的结果进行排序,返回相应的网页给用户;4)查询器的作用是接纳用户查询,显示查询结果,提供个性化查询项。2.2 搜索引擎的发展搜索引擎大约经历了三代的更新发展:第一代搜索引擎出现于1994 年前后。以Altavista, Yahoo 和Infoseek为代表,注重反馈结果的数量,主要特征是“求全”。它主要依靠人工分拣的分类目录搜索,通常由网页制作人自行建立网站名称、网站内容的文字摘要,并将其加入到搜索引擎的资料库中。搜索引擎根据用户键入的信息,根据预先设定的规则进行简单的匹配、排序和显示。这种
21、方法只能进行简单的字符串匹配,无法进行全文搜索。研究表明,搜索引擎性能并没有想象中的那么优秀,在全球11 个主要的搜索引擎中,搜索引擎仅能搜索到国际互联网上全部页面的16%,甚至更低,造成这种情况的原因,主要是这些搜索引擎没有及时更新资料。第二代搜索引擎,利用超链接分析为基础的机器抓取技术,由搜索引擎使用一个程序在网络上撷取资料,并自动将得到的结果存入索引库中。搜索引擎根据用户键入的信息进行匹配、排序和显示。这些引擎的主要特点是提高了查准率,可以用“求精”来描述它的优点,即不需要网站制作人单独键入供搜索的信息,并且从理论上讲,可将任意网站的所有网页加入到它的资料库中。第二代搜索引擎的大多数查询
22、都会返回成千上万条信息,查询结果中无关信息太多,而且查询结果显示比较混乱,使用者仍然难以找到真正想要的资料。第三代搜索引擎是对第二代搜索引擎的改进,相对于前两代,其更注重智能化和用户使用的个性化,主要增加了互动性和个性化等高级的技术,采用了中文自动分类、自动聚类等人工智能技术,而且使用了中文内容分析技术以及区域智能识别技术,增强了搜索引擎的查询能力。同时,搜索技术将更加智能化,可搜索资源将更加广泛,搜索方式也将更加便捷有效,为用户使用搜索引擎获取信息获得更好的体验。2.3 搜索引擎的工作原理搜索引擎(search engine)是利用信息挖掘系统在网际空间寻找和挖掘相关或有用信息,在此基础上建
23、立检索数据库,并通过提供简单友好的查询界面帮助用户进行网络信息检索的信息服务系统或工具。搜索引擎实际是Internet上的一类网站,这类网站与一般的网站不同,其主要工作是自动搜寻Web服务器的信息,将信息进行分类、建立索引,然后把索引的内容存放到数据库中,便于以查询和利用的方式提交给用户。Robot也就是Spider或Crawler,从事先制定好的URL列表出发自动访问WWW网页,分析提取网页中超文本的URL,将其加入列表,并根据URL列表进一步访问其他网页。分析索引器是一个数据库,Robot采集到的网页信息全部存于其中。数据库的规模直接影响了系统查询的查全率。有些记录了网页的全部内容,对整个
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ASP Ne 搜索引擎 设计 实现