本科毕业论文设计、创作
题目 基于Web搜索引擎的设计与实现Design and Implementation of Web-based search engine
摘 要
网络中的资源非常丰富但是如何有效的搜索信息却是一件困难的事情。建立搜索引擎就是解决这个问题的最好方法。本文首先详细介绍了基于英特网的搜索引擎的系统结构然后从网络机器人、索引引擎、 Web服务器三个方面进行详细的说明。在次基础上设计并实现了一种快捷高效的新闻搜索引擎该搜索引擎是从指定的Web页面中按照超连接进行解析、搜索并把搜索到的每条新闻进行索引后加入数据库,然后通过Web服务器接受客户端请求后从索引数据库中搜索出所匹配的新闻。
关键词搜索引擎;网络机器人;索引引擎;Web服务器
Abstact
The network resources are very rich, but how effective search informationisadifficult thing. Buildasearchengine is thebestwaytosolvetheproblem.This paper first introduced the Internet search engine based on the structureof the system, and thenfromthe networkrobots, indexing engine, theWeb serverof the three aspects of the detailed instructions. Based on the time designedand realized a quick and efficient news search engine, the search engine fromthe Web page in accordance with specified in the connection for analytical,search, and the search to every news indexing of add to the database. Thenthrough the Web server accept client requests from database search index afterthe 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什么是L U CEN E全文检索. . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.2 LUCENE的原理分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.2. 1全文检索的实现机制. . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.2.2 Lucene的索引效率. . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.2.3中文切分词机制. . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.3 LUCENE与SPIDER的结合. . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.4小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
第五章基于TOMCAT的WEB服务器. . . . . . . . . . . . . . . . . . . .错误未定义书签。
5. 1什么是基于T O MCA T的WE B服务器. . . . . . . . . . . . . . . . .错误未定义书签。
5.2用户接口设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5.2. 1客户端设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5.2.2服务端设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5.3在T O MCA T上部署项目. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .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?”。搜索引擎在对提问进行结构和内容的分析之后或直接给出提问的答案或引导用户从几个可选择的问题中进行再选择。 自然语言的优势在于一是使网络交流更加人性化二是使查询变得更加方便、直接、有效。就以上面的例子来讲如果用关键词查询多半人会用“virus”这个词来检索结果中必然会包括各类病毒的介绍、病毒是怎样产生的等等许多无效信息而用“how can kill virus of computer?”搜索引擎会将怎样杀病毒的信息提供给用户提高了检索效率。
2.对检索的结果进行处理
对检索的结果处理有以下几个方向其一使用链接评价就是将网页的链接数量算作网页评分因素之一这样搜索的结果就更加的能够满足用户的要求在这个方面google www.google.cn的“链接评价体系”已经做出了相当出色的成绩。其
二使用大众访问性就是将访问数量也可以叫做点击数量算作网页评分的因素之一这样想www. s i na.com.cn这样的网站的分数会很高而这样的网站很多时候都是用户想找的这样能够提高搜索引擎的准确率。其三去掉结果中的附加信息。有调查指出过多的附加信息加重了用户的信息负担为了去掉这些过多的附加信息可以采用用户定制、 内容过滤等检索技术。
3.确定搜集返回提高针对性
在这个方面现在的发展的方向是其一垂直主题搜索。垂直主题的搜索引擎以
其高度的目标化和专业化在各类搜索引擎中占据了一系席之地 比如象股票、天气、新闻等类的搜索引擎具有很高的针对性用户对查询结果的满意度较高。其二非www信息的搜索。搜索引擎提供了例如f t p等非www信息的搜索。其三多媒体搜索。搜索引擎还提供了例如包括声音、 图像等等多媒体信息的检索。
4.提供更优化的检索结果
在这个方面有两个主要的发展方向其一纯净搜索引擎。这类搜索引擎没有自己的信息采集系统利用别人现有的索引数据库主要关注检索的理念、技术和机制等。其二元搜索引擎。元搜索引擎(metasearch enging)是将用户提交的检索请求到多个独立的搜索引擎上去搜索并将检索结果集中统一处理以统一的格式提供给用户 因此有搜索引擎之上的搜索引擎之称。它的主要精力放在提高搜索速度、智能化处理搜索结果、个性搜索功能的设置和用户检索界面的友好性上查全率和查准率都比较高。
第二章搜索引擎的结构
2. 1系统概述
搜索引擎是根据用户的查询请求按照一定算法从索引数据中查找信息返回给用户。为了保证用户查找信息的精度和新鲜度搜索引擎需要建立并维护一个庞大的索引数据库。一般的搜索引擎由网络机器人程序、索引与搜索程序、索引数据库等部分组成。
图1搜索引擎的系统结构
2.2搜索引擎的构成
2.2. 1网络机器人
网络机器人也称为“网络蜘蛛” (Spider) 是一个功能很强的WEB扫描程序。它可以在扫描WEB页面的同时检索其内的超链接并加入扫描队列等待以后扫描。因为WEB中广泛使用超链接所以一个Sp i der程序理论上可以访问整个WEB页面。
为了保证网络机器人遍历信息的广度和深度需要设定一些重要的链接并制定相关的扫描策略。
2.2.2索引与搜索
网络机器人将遍历得到的页面存放在临时数据库中如果通过SQL直接查询信息速度将会难以忍受。为了提高检索效率需要建立索引按照倒排文件的格式存放。如果索引不及时更新的话这样用户用搜索引擎也不能检索到。
Ceraus数据成立于2020年底,基于KVM虚拟架构技术;主营提供香港CN2、美国洛杉矶CN2、日本CN2的相关VPS云主机业务。喜迎国庆香港上新首月五折不限新老用户,cera机房,线路好,机器稳,适合做站五折优惠码:gqceraus 续费七五折官方网站:https://www.ceraus.com香港云内存CPU硬盘流量宽带优惠价格购买地址香港云2G2核40G不限5Mbps24元/月点击购买...
CloudCone针对中国农历新年推出了几款特别套餐, 其中2019年前注册的用户可以以13.5美元/年的价格购买一款1G内存特价套餐,以及另外提供了两款不限制注册时间的用户可购买年付套餐。CloudCone是Quadcone旗下成立于2017年的子品牌,提供VPS及独立服务器租用,也是较早提供按小时计费VPS的商家之一,支持使用PayPal或者支付宝等付款方式。下面列出几款特别套餐配置信息。CP...
MechanicWeb怎么样?MechanicWeb好不好?MechanicWeb成立于2008年,目前在美国洛杉矶、凤凰城、达拉斯、迈阿密、北卡、纽约、英国、卢森堡、德国、加拿大、新加坡有11个数据中心,主营全托管型虚拟主机、VPS主机、半专用服务器和独立服务器业务。MechanicWeb只做高端的托管vps,这次MechanicWeb上新Xeon W-1290P处理器套餐,基准3.7GHz最高...