本科毕业论文设计、创作
题目 基于W eb搜索引擎的设计与实现
Design and Implementation of Web-based searchengine
摘 要
网络中的资源非常丰富但是如何有效的搜索信息却是一件困难的事情。建立搜索引擎就是解决这个问题的最好方法。本文首先详细介绍了基于英特网的搜索引擎的系统结构然后从网络机器人、索引引擎、W eb服务器三个方面进行详细的说明。在次基础上设计并实现了一种快捷高效的新闻搜索引擎该搜索引擎是从指定的W eb页面中按照超连接进行解析、搜索并把搜索到的每条新闻进行索引后加入数据库,然后通过W eb服务器接受客户端请求后从索引数据库中搜索出所匹配的新闻。关键词搜索引擎;网络机器人;索引引擎;W eb服务器
Abstact
The network resources are very rich, but how eff ective searchinformation is a difficult thing.Build a search engine is the best way to solvethe problem.This paper first introduced the Internet search engine based onthe structure of the system, and then from the network robots, indexingengine, the Web server of the three aspects of the detailed instructions.Based on the time designed and realized a quick and efficient news searchengine, the search engine from the Web page in accordance with specified inthe connection for analytical,search,and the search to every news indexingof add to the database.Then through the Web server accept client requestsfrom database search index after the news of the match.
Keywords: search engine;Network robot; Indexing engine;Web server
目 录
摘要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
目录. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
第一章 绪论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1.1搜索引擎出现的背景及意义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1.2搜索引擎的发展历史及趋势. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
第二章搜索引擎的结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
2.1系统概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
2.2搜索引擎的构成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
2.2.1网络机器人. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
2.2.2索引与搜索. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
2.2.3 Web服务器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
2.3搜索引擎的主要指标及分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
2.4小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
第三章网络机器人. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
3.1什么是网络机器人. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
3.2网络机器人的结构分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
3.2.1如何解析HTML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
3.2.2 Spider程序结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
3.2.3如何构造Spider程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3.2.4如何提高程序性能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3.2.5网络机器人的代码分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3.3小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
第四章基于LUCENE的索引与搜索. . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.1什么是LUCENE全文检索. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.2 LUCENE的原理分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.2.1全文检索的实现机制. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.2.2 Lucene的索引效率. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.2.3中文切分词机制. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.3 LUCENE与SPIDER的结合. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.4小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
第五章基于TOMCAT的WEB服务器. . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5.1什么是基于TOMCAT的WEB服务器. . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5.2用户接口设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5.2.1客户端设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5.2.2服务端设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5.3在TOMCAT上部署项目. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
5.4小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
第六章项目总结以及未来工作展望. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
6.1项目总结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
6.2未来工作展望. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
致. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
第一章 绪论
1.1搜索引擎出现的背景及意义
网络的出现以及发展对于世界发展的意义是极其重要的它让地球村的理念变成现实信息的传输不再受到时间和空间的限制。在没有搜索引擎的时代用户希望寻找某方面的信息就必须通过各种途径或者是之间的连接寻找可以这样说脱离了搜索引擎的就像是信息海洋中的一个一个孤岛用户必将面临巨大的搜索成本同时必须付出大量的时间和精力。
搜索引擎的出现改变了上述的现象它通过程序的自动搜寻并建立索引将这些信息孤岛联系起来形成了一巨大的信息网并且运用分布式计算的巨大力量能够让用户从海量数据中摒除垃圾信息获取想要的知识。搜索引擎不仅仅是节省了用户的时间通过挖掉搜寻成本这座墙它让许许多多的不可能成为可能。
1.2搜索引擎的发展历史及趋势
搜索经历了三代的更新和发展:
第一代搜索引擎出现于1994年。这类搜索引擎一般都索引少于1 000 000个网页极少重新搜集网页并去刷新索引。而且其检索速度非常慢一般都要等待10秒甚至更长的时间。
第二代搜索出现在1996年。这类搜索引擎系统大多采用分布式方案多个微型计算机协同工作来提高数据规模、响应速度和用户数量它们一般都保持一个大约50,000,000网页的索引数据库每天能够响应10,000,000次用户检索请求。
第三代搜索引擎年代的划分和主要特性至今没有统一的认识不过至少可以肯定
的是第三代搜索引擎是对第二代搜索引擎在搜索技术上的改进主要增加了互动性和个性化等高级的技术为用户使用搜索引擎获取信息获得更好的体验。至于互动性的评价标准是什么以及第三代搜索引擎到底比第二代搜索引擎增加了多少价值——尤其是为企业利用搜索引擎开展网络营销增加了哪些价值 目前并没有非常令人信服的研究结论。这也就是目前所谓的第三代搜索引擎并没有表现出太多优势的原因之
一。
现在网络上有很多著名的搜索引擎百度 google等等百度从2005年诞生到现在成为全球最大的中文搜索引擎可想而知发展的速度是多么的快人们对搜索引擎的的需多么的大百度的日点击率我无法在找到确切的数字但是我们可以计算一下截至2008年底中国网民规模达到2.98亿人每个网民上网点击百度的次数应该不少于十次吧像我们要在百度上找资料的网名点击率百次不止所以百度的日点击率是多么惊人。
搜索引擎经过几年的发展和摸索越来越贴近人们的需求搜索引擎的技术也得到了很大的发展。搜索引擎在将来的的发展趋势大概有以下几个方面
1.提高对用户输入的理解
为了提高搜索引擎对用户检索提问的理解就必须有一个好的检索提问语言为了克服关键词检索和目录查询的缺点现在已经出现了自然语言智能答询。用户可以输入简单的疑问句比如“how can kill virus of computer?”。搜索引擎在对提问进行结构和容的分析之后或直接给出提问的答案或引导用户从几个可选择的问题中进行再选择。 自然语言的优势在于一是使网络交流更加人性化二是使查询变得更加方便、直接、有效。就以上面的例子来讲如果用关键词查询多半人会用“vi ru s”这个词来检索结果中必然会包括各类病毒的介绍、病毒是怎样产生的等等许多无效
virmach这是第二波出这种一次性周期的VPS了,只需要缴费1一次即可,用完即抛,也不允许你在后面续费。本次促销的是美国西海岸的圣何塞和美国东海岸的水牛城,周期为6个月,过后VPS会被自动且是强制性取消。需要临时玩玩的,又不想多花钱的用户,可以考虑下!官方网站:https://www.virmach.comTemporary Length Service Specials圣何塞VPS-一次性6个...
易探云怎么样?易探云(yitanyun.com)是一家知名云计算品牌,2017年成立,从业4年之久,目前主要从事出售香港VPS、香港独立服务器、香港站群服务器等,在售VPS线路有三网CN2、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。目前,易探云推出免备案香港物理机服务器性价比很高,E3-1230 8 核*1/16G DDR3/SATA 1TB/香港BGP线路/20Mbps/不限流量,仅...
想必我们有一些朋友应该陆续收到国内和国外的域名注册商关于域名即将涨价的信息。大概的意思是说从9月1日开始,.COM域名会涨价一点点,大约需要单个9.99美元左右一个。其实对于大部分用户来说也没多大的影响,毕竟如今什么都涨价,域名涨一点点也不要紧。如果是域名较多的话,确实增加续费成本和注册成本。今天整理看到Dynadot有发布新的八月份域名优惠活动,.COM首年注册依然是仅需48元,本次优惠活动截止...