基于ASP.Net搜索引擎的设计与实现目录摘要....................................................3ABSTRACT................................................3第一章绪论.............................................41.1搜索引擎的背景及意义.................................41.2搜索引擎的现状......................................5第二章搜索引擎概述.....................................72.1搜索引擎的概念......................................72.2搜索引擎的发展......................................72.3搜索引擎的工作原理...................................82.4.NET简介............................................9第三章搜索引擎的设计...................................103.1网页搜集............................................103.1.1网络爬虫的介绍...................................103.1.2网络爬虫设计.....................................123.1.3网络蜘蛛的实现...................................133.1.4数据库设计.......................................153.2网页的信息处理.....................................153.2.1倒排索引........................................153.2.2Lucene.Net介绍..................................163.2.3索引结构.........................................183.2.4中文分词技术.....................................203.3查询信息...........................................233.3.1查询实现.........................................243.3.2word文档查询....................................253.3.3关键字高亮显示...................................25第四章用户接口设计....................................264.1用户注册、登陆......................................264.2查询扩展............................................264.3个性化查询..........................................274.4系统数据库设计.....................................28第五章测试与评价.......................错误!未定义书签。5.1查询测试.............................错误!未定义书签。5.2评价.................................错误!未定义书签。第六章结论和展望.......................错误!未定义书签。参考文献...............................................30致谢...................................错误!未定义书签。附录...................................错误!未定义书签。摘要互联网的快速发展使得网络中的信息量越来越大,普通用户对信息的检索越来越困难。搜索引擎的出现大大的该少了这种情况,互联网的快速发展也使搜索引擎的不断的发展着,而搜索引擎的逐渐转向商业化运行,使得搜索引擎的技术细节越来越隐蔽。本文以搜索引擎的三个基本功能:网页爬取、网页处理、查询服务为出发点,并按这三个功能将系统进行功能模块划分,以ASP.NET技术作为基础,实现了一个搜索引擎。网页中存在着大量链接的同时也具有众多的冗余信息,例如,导航信息条、广告栏、版权信息等,这些冗余信息大大限制了网页的可用性,因此在本文中网页爬取的重点就是如何快速的提取这些链接,而网页处理的重点则是去除网页中的冗余信息。本文利用正则表达式的灵活性实现了对网页中链接地址的提取和网页中冗余信息的剔除。在获取链接地址进行网页爬取的同时对网页信息进行提取,同时基于最大化匹配算法实现中文分词算法,并利用DotLucne提供的接口功能成功实现对提取网页信息的索引,经过网页信息的提取和分词预处理,检索过程建立的索引更小,检索的效率和结果更加理想,并基于此索引为用户的查询请求提供服务。关键词:搜索引擎;网页爬取;ASP.net;中文分词;AbstractWiththerapiddevelopnebtoftheInternet,ithasbecomethelargestinformationsourceinourlife.Informationsearchanretrievalforordinaryusersbecomemoreandmoredifficult.Theemergenceofsearchenginesgreatlyimprovesthissituation.SearchenginehasmadeaconstantdevelopmentwiththedevelopmentoftheInternet,bututsgraduallyshiftingtoconmmercialoperationmakesthetechnicaldetailsofsearchenginemoreandmorehidden.WiththestartpointofthreebasicrequirmentsofsearchenginesasWebSpider,Pages’ProcessingandProvidingServives,thispaperdividesthesystemintothreefunctionalmodules,andbasedonASP.NET,thispaperexplorestheprincipleandrealizesonesearchengines.Inwebpages,threearealargenumberoflinks,howtofetchouttheselinksfastisthekeypointoftheWebSpiderinthesepaper.Atthesametime,webpagescontainalotofredundantinformationg,navigationtools,advertisingfields,copyrightinformationandsoon,theseredundantinformationlimittheavailabilityofinformation.Sohowtoremovetheredundantinformationisfocusofthepageprocessing.Asregularexpressiongs’flexibility,thispaperusesregularexpressionstoachievetheextractionoflinksandremoveredundantinformationinwebpages.Extractionofpages’informationisdoingwhileWebSpiderisfetchingpages.Afterthat,thispaperrealizesChineseWordSegmentationbasedonMaximumMatching,andachievesindexingofpages’informationwiththeinterfaceofLucene.Net.Aftertheinformationextractionandsegmentationpre-processing,theindexismuchsmallerandtheretrievalefficiencyandresults’accuracyismoresatisfactory.Basedonthisindex,systemprovidesservicesfortheusers’queryrequest.KeyWords:SearchEngine;Spider;ASP.net;Chinesewordssegmentation第一章绪论1.1搜索引擎的背景及意义搜索引擎(SearchEngine)是指根据一定的策略、运用特定的计算机程序搜集互联网上的信息,在对信息进行组织和处理后,为用户提供检索服务的系统。而从使用者的角度看,搜索引擎提供了一个包含搜索框的页面,在搜索框输入词语,通过浏览器提交给搜索引擎后,搜索引擎就会返回跟用户输入的内容相关的信息列表。1990年以前,没有任何人能搜索互联网。1990年诞生的Archie是一个可以用文件名自动索引互联网上匿名FTP网站文件的程序,它实现了搜索,但还不是真正的搜索引擎。现代意义上的搜索引擎出现于1994年7月,当时MichaelMauldin将JohnLeavitt的蜘蛛程序接入到其索引程序中,创建了大家现在熟知的Lycosa。1995年末,Altavista永远改变了搜索引擎的定义,AItavista是第一个支持自然语言搜索的搜索引擎,也是第一个实现高级搜索语法的搜索引擎。1998年,Google在Pagerank、动态摘要、网页快照、DailyRefresh、多文档格式支持、地图股票词典寻人等集成搜索、多语言支持、用户界面等功能上的革新,象Altavista一样,再一次永远改变了搜索引擎的定义。现阶段,出现AskJeeves,Baidu.com,Goto.com,MySimon,Dito等内容类别不同的搜索引擎。从出现第一个搜索引擎至今,搜索引擎技术已获得了飞速的发展,现在的搜索引擎功能越来越强大,提供的服务也越来越全面,它们的目标不仅仅是提供单纯的查询功能,而是把自己发展成为用户首选的Internet入口站点。互联网被普及前,人们查阅资料首先想到的便是拥有大量书籍的图书馆,而在当今很多人都会选择一种更方便、快捷、全面、准确的方式——互联网.如果说互联网是一个知识宝库,那么搜索引擎就是打开知识宝库的一把钥匙.搜索引擎是随着WEB信息的迅速增加,从1995年开始逐渐发展起来的技术,用于帮助互联网用户查询信息的搜索工具.搜索引擎以一定的策略在互联网中搜集、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务,从而起到信息导航的目的.目前搜索引擎已经成为倍受网络用户关注的焦点,也成为计算机工业界和学术界争相研究、开发的对象.1.2搜索引擎的现状随着个人计算机的普及和网络技术的发展,越来越多的数据和信息可以从网络上无偿获取。比如,目前Google已经可以搜索约31亿个网页。这样一个浩瀚的信息海洋,是人类共同创造的精神财富,其中包含很多对生活和科研非常有价值的