搜索引擎研究本科毕业设计论文.docx
《搜索引擎研究本科毕业设计论文.docx》由会员分享,可在线阅读,更多相关《搜索引擎研究本科毕业设计论文.docx(38页珍藏版)》请在冰点文库上搜索。
![搜索引擎研究本科毕业设计论文.docx](https://file1.bingdoc.com/fileroot1/2023-5/24/4eb6c4de-3c23-4025-bfb3-109ad962c519/4eb6c4de-3c23-4025-bfb3-109ad962c5191.gif)
搜索引擎研究本科毕业设计论文
本科毕业设计论文
搜索引擎研究
摘要
搜索引擎(searchengine),作为现在万维网中仅次于电子邮件的网络应用,它已成为广大网络用户获取信息的首要途径。
目前国内外知名的搜索引起公司包括:
Google、XX、雅虎、MSN、InfoSpace等等。
其中,像Google、XX这样的全文搜索引擎是完整意义上的搜索引擎;雅虎、MSN则是目录式搜索引擎;InfoSpace则是元搜索引擎。
本文简单介绍了搜索引起的发展历史、分类、世界知名搜索引擎和全文搜索引擎的工作流程、原理,各部分(搜索器、分析器、索引器、检索器)的工作方式。
搜索引擎优化则是在2004年以后兴起的一门新型的技术,主要目的是增加特定关键字的曝光率以增加网站的能见度,以提高其在搜索引擎中的排名,提升网站的访问量,达到宣传或销售的目的。
目前已经有许多的公司开始参与搜索引起优化方向的工作。
关键词:
搜索引擎分类,全文搜索引擎,搜索引擎优化
SearchEngine
Abstract:
Searchengine,isnowsecondonlytoe-mailasnetworkapplicationsintheWorldWideWeb,itistobecometheprimarywayforinternetusertogetinformationchannels。
Athomeandabroad,thewell-knownsearchcompanyincluding:
Google,Baidu,Yahoo,MSN,InfoSpaceandsoon。
Which,likeGoogle,Baidu,full-textsearchengineisacompletesenseofthesearchengine;Yahoo,MSNisadirectory-stylesearchengine;InfoSpaceisametasearchengine。
Thiscausedabriefhistoryofsearch,classification,world-renownedsearchengineandfull-textsearchengineprocesses,principles,andeachpart(searchengine,parser,indexer,crawler)work。
Searchengineoptimizationistherisein2004afteranewtechnology,themainpurposeistoincreasetheexposureofaspecifickeywordtoincreasethevisibilityofthesitetoimproveitsrankinginsearchengines,improvesitetraffic,reachadvertisingormarketingpurposes。
Therehavebeenmanycompaniesareinvolvedintheworkofsearing。
Keyword:
searchenginecategory,full-textsearchengine,searchengineoptimization
第1章前言
随着互联网的蓬勃发展,建立在互联网上的各种应用也层出不穷,其中最为成功的摸过于万维网(WWW)。
万维网的发展也彻底改变了人们的思维、习惯与生活。
一方面,它使网络用户更容易获取各种各样的信息,而另一方面,要想在数十亿网页的网络信息中精确地找到自己需要的信息简直就如“大海捞针”一般。
在互联网彷徨无计之时,搜索引擎的出现就像是引领互联网走出迷雾的灯塔。
网民不在需要记住复杂的网址和路径(URL),只需要知道搜索引擎的入口,就可以畅游互联网的世界,从海量的互联网信息中找到和分享全人类的经验与智慧。
WordNet中对搜索引擎的解释是一种用来在计算机网络特别是在万维网上检索各种文件的计算机程序。
而在袁津生等所著的<<搜索引擎原理与实践>>一书中,将搜索引擎定义为根据一定的策略、运用特定的计算机程序搜集互联网上的信息,在对信息进行组织和处理后,为用户提供检索服务的系统。
可见搜索引擎在用户面前呈现的动态网页,是由用户定义的一个信息聚合系统。
搜索引擎通过用户输入的查询关键词,推测用户的搜索意图,然后快速的返回相关的查询结果。
随着搜索引擎技术和商业模式的成熟,更衍生出搜索引擎优化(SEO)的概念,它是近几年非常流行的一种网络营销方式。
已有非常多的公司开始从事这方面的工作或者开展相关的业务。
搜索引擎优化主要工作是通过了解各类搜索引擎如何抓取互联网页面、如何进行索引以及如何确定其对某一特定关键词的搜索结果排名等技术,来对网页进行相关的优化,使其提高搜索引擎排名,从而提高网站访问量,最终提升网站的销售能力或宣传能力。
第2章概述
2.1发展历史
现代意义上的搜索引擎的祖先,是1990年由蒙特利尔大学学生AlanEmtage发明的Archie。
虽然当时WorldWideWeb还未出现,但网络中文件传输还是相当频繁的,而且由于大量的文件散布在各个分散的FTP主机中,查询起来非常不便,因此AlanEmtage想到了开发一个可以以文件名查找文件的系统,于是便有了Archie。
Archie工作原理与现在的搜索引擎已经很接近,它依靠脚本程序自动搜索网上的文件,然后对有关信息进行索引,供使用者以一定的表达式查询。
由于Archie深受用户欢迎,受其启发,美国内华达SystemComputingServices大学于1993年开发了另一个与之非常相似的搜索工具,不过此时的搜索工具除了索引文件外,已能检索网页。
当时,“机器人”一词在编程者中十分流行。
电脑“机器人”(ComputerRobot)是指某个能以人类无法达到的速度不间断地执行某项任务的软件程序。
由于专门用于检索信息的“机器人”程序像蜘蛛一样在网络间爬来爬去,因此,搜索引擎的“机器人”程序就被称为“蜘蛛”程序。
世界上第一个用于监测互联网发展规模的“机器人”程序是MatthewGray开发的WorldwideWebWanderer。
刚开始它只用来统计互联网上的服务器数量,后来则发展为能够检索网站域名。
与Wanderer相对应,MartinKoster于1993年10月创建了ALIWEB,它是Archie的HTTP版本。
ALIWEB不使用“机器人”程序,而是靠网站主动提交信息来建立自己的链接索引,类似于现在人们熟知的Yahoo。
随着互联网的迅速发展,使得检索所有新出现的网页变得越来越困难,因此,在MatthewGray的Wanderer基础上,一些编程者将传统的“蜘蛛”程序工作原理作了些改进。
其设想是,既然所有网页都可能有连向其他网站的链接,那么从跟踪一个网站的链接开始,就有可能检索整个互联网。
到1993年底,一些基于此原理的搜索引擎开始纷纷涌现,其中以JumpStation、TheWorldWideWebWorm(Goto的前身,也就是今天Overture),和Repository-BasedSoftwareEngineering(RBSE)spider最负盛名。
然而JumpStation和WWWWorm只是以搜索工具在数据库中找到匹配信息的先后次序排列搜索结果,因此毫无信息关联度可言。
而RBSE是第一个在搜索结果排列中引入关键字串匹配程度概念的引擎。
最早现代意义上的搜索引擎出现于1994年7月。
当时MichaelMauldin将JohnLeavitt的蜘蛛程序接入到其索引程序中,创建了大家现在熟知的Lycos。
同年4月,斯坦福(Stanford)大学的两名博士生,DavidFilo和美籍华人杨致远(GerryYang)共同创办了超级目录索引Yahoo,并成功地使搜索引擎的概念深入人心。
从此搜索引擎进入了高速发展时期。
目前,互联网上有名有姓的搜索引擎已达数百家,其检索的信息量也与从前不可同日而语。
比如最近风头正劲的Google,其数据库中存放的网页已达30亿之巨!
随着互联网规模的急剧膨胀,一家搜索引擎光靠自己单打独斗已无法适应目前的市场状况,因此现在搜索引擎之间开始出现了分工协作,并有了专业的搜索引擎技术和搜索数据库服务提供商。
像国外的Inktomi(已被Yahoo收购),它本身并不是直接面向用户的搜索引擎,但向包括Overture(原GoTo,已被Yahoo收购)、LookSmart、MSN、HotBot等在内的其他搜索引擎提供全文网页搜索服务。
国内的XX也属于这一类,搜狐和新浪用的就是它的技术。
因此从这个意义上说,它们是搜索引擎的搜索引擎。
2.2搜索引擎分类
人们对于搜索引擎的理解经历一个非常漫长的过程,从早前的目录式搜索,到现在的全文搜索,搜索引擎神秘的面纱逐步展现在人们面前。
至今主流搜索引擎基本上有以下四种:
2.2.1全文搜索引擎(FullTextSearchEngine)
全文搜索引擎是真正意义上的搜索引擎,它通过从互联网上提取的各个网站的信息而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户。
现在比较有名的搜索引擎包括:
Google、AllTheWeb、AltaVista、WiseNut等,国内的有XX、中文搜索、北大天网等。
全文搜索引擎具有全文搜索、检索功能强、更新及时,且无须人工干扰等优点,但是却由于提供过多的返回信息而降低了命中率,用户需要从中筛选获得自己想要的信息。
2.2.2目录式搜索引擎(SearchIndex)
目录式搜索引擎是最早出现的搜索引擎,它仅仅是按目录分类的的网站链接而已,用户无须进行关键词查询,仅靠分类列表就能找到需要的信息。
这种搜索引擎最有名的是早期的雅虎,以及国内的搜狐。
其他还包括OpenDirectoryProject(DMOZ)、LookSmart、新浪、网易等。
目录式搜索引擎最大的特点是由人工建立,目标结果是网站,通过仍的方式将各个站点进行了分类,只记录一些摘要信息,及该网站的简要介绍。
它的主要优点有:
层次、结构清晰,易于查找,其缺点是搜索范围小,数据量有限,更新速度慢,维护成本较高。
2.2.3元搜索引擎(MetaSearchEngine)
元搜索引擎并没有自己的数据,在接受用户查询请求时,同时在其他多个搜索引擎上进行搜索,然后将结果返回给用户。
著名的元搜索引擎有InfoSpace、Dogpile、Vivisimo等,中文元搜索引擎中具代表性的是北斗搜索。
在搜索结果排列方面,有的直接按来源排列搜索结果,如Dogpile;有的则按自定的规则将结果重新排列组合,如Vivisimo。
元搜索引擎的主要优点是返回结果的信息量大;缺点则是不能充分利用原搜索引擎的功能,用户需要做更多的筛选。
2.2.4垂直搜索引擎
垂直搜索引擎是针对某一个行业的专业搜索引擎,是搜索引擎的细分和延伸,是对网页库中的某类专门的信息进行一次整合,定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。
垂直搜索是相对通用搜索引擎的信息量大、查询不准确、深度不够等提出来的新的搜索引擎服务模式,通过针对某一特定领域、某一特定人群或某一特定需求提供的有一定价值的信息和相关服务。
其特点就是“专、精、深”,且具有行业色彩,相比较通用搜索引擎的海量信息无序化,垂直搜索引擎则显得更加专注、具体和深入。
2.2.5其他非主流搜索引擎
1集合式搜索引擎该搜索引擎类似于远搜索引擎,但区别在与不是同时调用多个搜索引擎进行搜索,而是根据用户提供的4个搜索引擎之中选择。
2门户搜索引擎虽然提供搜索服务,但自身即没有分类目录也没有网页数据库,结果完全来自其他搜索引擎。
3免费链接列表这类网站一般只简单地滚动链接条目,少部分有简单的分类目录,不过规模要比Yahoo!
等目录索引小很多。
2.3著名搜索引擎简介
2.3.1谷歌()
Google是由单词googol变化而来,而googol表示的是1后带100个零的数字,Google用这个词代表公司向征服网上无穷无尽资料的雄心。
Google创始人之一LarryPage指出:
“完美的搜索引擎需要做到确解用户之意,切返用户之需”。
就搜索技术的现状而言,需要通过研究、开发和革新来实现长远的发展。
Google致力于成为这一技术领域的开拓者。
目前Google已经成为全球最大的全文搜索引擎,并在2000年已经开始提供中文搜索服务。
Google每天提供超过2亿次查询服务,搜索时间不到半秒,成为网上最快捷的信息查询方法。
1.Google的特点
资源丰富、内容广泛
Google是全球最大的互联网文档收集者,在全球范围内已经收集了20多亿网页资料,7亿多新闻组的帖子和3亿多图片。
还有网页快照服务,非常适合使用者众多的门户网站。
相关性高
Google可以根据网页间彼此的连接关系,把一篇网页被连接数目的多寡作为其相关性的一项指标。
对于用户输入的关键词,Google最大限度的寻求语义上的匹配。
技术先进、搜索结果精确、排序公正
有别于其他搜索引擎,没有人能花钱买到Google的一个更高级别的PageRank,保证了排名的工作性,也正是以这样诚信的服务,Google让用户非常容易的找到高质量的网站。
搜索快速
搜索速度是Google的另一大优势,用户输入的任何关键字或信息,都能得到快速的响应,且其超链分析的算法还会将搜索结果排列出优先序列,节省了互用的查询时间。
Google在全世界拥有超过10000台Linux服务器,200多条T3宽带,在超过20亿的网页中搜索问题并回复的时间不到1.5s。
2.Google的检索方式
简单查询
普通上网用户使用最多的查询方式。
Google有自己的语法,它不支持“AND”、“OR”和“*”等符号的使用,只要用户输入的关键词完整,准确,都可以获得用户想要的信息。
高级查询
Google的高级查询可以提供非常专业的关键词查询,可以选择想要查询的地区、语言、时间甚至是网站。
3.Google的不足
(1)数据搜索速度无法进一步提升。
由于数据量的庞大,使Google搜索引擎的数据更新无法超过30天,在一定程度上影响了用户对信息的实效需求,而Google目前还无法突破这一瓶颈。
(2)无法搜索动态生成的网页。
大多数负责网页抓取的蜘蛛程序都不敢去查找动态网页,怕被变化无穷的动态系统“黑洞”吸进去,但Google似乎已经取得了一些突破。
(3)不支持“OR”和“*”等符号的使用
2.3.2XX()
XX是世界上最大规模的中文搜索引擎,致力于向人们提供最便捷的信息获取方式。
XX拥有全球最大的中文网页库,每天向全球100多个国家的网络用户提供超过1亿次以上的搜索服务。
由于XX在技术上的领先,奠定了其在中国互联网高科技公司的优势地位,成为中国互联网信息服务的旗帜之一。
技术核心:
超链分析
超链分析技术,是新一代搜索引擎的关键技术,已为世界各大搜索引擎普遍采用,XX总裁李彦宏就是超链分析专利的唯一持有人。
超链分析是通过分析连接网站的多少来评价被连接的网站质量,这保证了用户在XX搜索时,越受用户欢迎的内容排名越靠前。
搜索资源更大、更新更快
XX在中文互联网中,支持搜索8亿个中文网页,是世界上最大的中文搜索引擎,其在中国各地分布的服务器,能直接从最近的服务器上把所搜索信息返回给当地用户,使用户享受极快的搜索传输速度。
为中文用户量身定做
XX作为中国本地的搜索引擎,深刻理解中文用户的搜索习惯,开发出关键词自动提示、自动纠错等功能
XX特色:
XX快照
XX快照解决了用户上网访问经常遇到的死链接的问题:
XX搜索已先预览各网站,拍下网页的快照,为用户存储大量应急网页。
2.3.3雅虎()
Yahoo!
在全球共有24个网站,12中语言版本,其过人之处,在于其分类目录查询做的相当出色,无论从网站的数量还是分类的合理性方面都是可圈可点。
站点目录分为14个大类,每个大类下面分为若干个小类,搜索十分方便。
雅虎的特点
1.界面简洁。
Yahoo!
的网站简介相当简练、严格,一般用很少的文字做客观描述,没有主管评论和类似于广告的夸张语言。
2.分类目录准确、合理。
Yahoo!
提供了一份规范、科学、层次丰富的网站分类目录,丙炔是通过一大片工程师手工编制的。
3.数据量大,内容丰富。
Yahoo!
通过14个一级类目将关于政治、经济、文化、房产、科技、教育、娱乐、体育等各方面的信息收集到数据库当中,有资料称,Yahoo!
已经收集了超过20亿个中文网页
4.速度快、准确率高
Yahoo!
的分类是由专业计算机人士手工完成的,因此收录的网页经过筛选和系统组织,质量较高,条理性较强,也更接近用户的信息需求
雅虎的不足
1由于数据量大,许多网站并没有简介,也没有注册信息
2人为分类,难免某些网站分类有误
3检索结果多有重复,且复杂条件查询较弱
4中文版本功能和服务比英文版少许多
2.4中文搜索引擎的趋势
中文搜索引擎的发展时间并不长,但是发展迅速,技术也日趋成熟,提供的服务业越来越全面。
互联网所示引擎将会向着智能化、个性化、精确化、专业化等方向发展。
中文搜索引擎的发展趋势应为如下几个方面:
1智能化搜索引擎
2提高查询结果的精确性、检索的有效性
3实现交叉语言检索和自然语言检索
4研究汉字内码转换技术,实现汉字各内码之间的无缝切换
5桌面型搜索引擎
第3章全文搜索引擎
搜索引擎是一种依靠技术取胜的产品,搜索引擎的各个组成部分,包括页面搜集器、索引器、检索器等,都是搜索引擎产品提供商进行比拼的着力点。
大型互联网搜索引擎的数据中心一般运行数千台甚至数十万台计算机,而且每天向计算机集群里添加数十台机器,以保持与网络发展的同步。
搜集机器自动搜集网页信息,平均速度每秒数十个网页,检索机器则提供容错的可缩放的体系架构以应对每天数千万甚至数亿的用户查询请求。
3.1搜索引擎的体系结构
搜索引擎是一种依靠技术取胜的产品,搜索引擎的各个组成部分,包括页面搜集器、分析器、索引器、检索器等,都是搜索引擎产品提供商进行比拼的着力点。
1搜索器
搜索器负责从互联网上下载各种类型的网页,并保持对互联网的同步。
2分析器
分析器负责网页的初步处理,相对于英文搜索引擎每个字中间有空格隔开,中文搜索引擎则更需要分词技术的支持才能提供更好的服务。
3索引器
索引器负责理解搜索器搜索的信息,对搜索到的信息进行索引排序,形成完整的数据库文件。
在搜索引擎发展的初期,能索引多少数据是行业发展的标志。
4检索器
检索器的功能是根据用户的查询在索引库中快速检出文档,进行文档与查询的相关度计算,将要输出的结果进行排序,并实现某种用户相关性反馈机制。
5用户接口
用户接口负责输入用户查询,并显示查询结果。
一般搜索引擎的结构如图2-1:
万维网
控制器
搜索器
原始数据库
索引器
日志分析器
索引数据库
用户行为日志数据库
检索器
用户
用户接口
图2-1搜索引擎结构图
3.2搜索引擎的工作流程
搜索引擎一般的工作过程是:
首先对互联网上的网页进行搜集,然后对搜集来的网页进行预处理,建立网页索引库,实时响应用户的查询请求,并对查找到的结果按某种规则进行排序后返回给用户。
大型互联网搜索引擎的数据中心一般运行数千台甚至数十万台计算机,而且每天向计算机集群里添加数十台机器,以保持与网络发展的同步。
企业搜索引擎可根据不同的应用规模,从单台计算机到计算机集群都可以进行部署。
开始
N
用户输入关键词
关键词分析
关键词wordID
查找索引库得到wordID列表
遍历文档列表docID
N
未找到相关网页
找到一篇?
Y
返回给用户
结果按相关度排序
文档处于列表末尾?
N
计算文档等级
Y
图2-2搜索引擎工作流程
3.3搜索器
搜索器即是网络爬虫,也被称为漫步者“Wanderers”或者机器人“Robots”,它首先是一组运行在计算机中的程序,在搜索引擎系统中负责抓取时刻更新且公共可访问的Web的网页、图片和文档等资源。
这种抓取的过程为通过下载一个网页、分析其中的链接。
继而漫游到其他链接指向的网页,循环往复。
爬虫的作用是搜索引擎抓取大量的数据,抓取的对象是整个互联网上的网页。
爬虫程序不可能抓取到所有的网页,因为在爬虫抓取的同时,Web的规模也在增大,所以一个好的爬虫程序一般能够在短时间内抓取更多的网页。
一般爬虫程序的起始点都选择在一个大型综合性的网站,这样的网站已经涵盖了大部分高质量的站点,爬虫程序就沿着这些链接爬行。
3.3.1搜索器流程
在爬虫开始的时候,需要给爬虫输送一个URL列表,整个列表中的URL地址便是爬虫的起始地址,爬虫从这些URL出发,开始了爬行,一直不断的发现新的URL,然后再根据策略爬行这些新的URL,如此永远反复下去。
一般的爬虫都自己建立DNS缓冲,其目的是加快URL解析成IP地址的速度。
新URL列表
已抓取的网页
抓取
DNS服务器
IP地址缓存
URL解析
URL列表
开始
爬虫运行流程如图2-3:
图2-3爬虫运行流程
3.3.2搜索器爬行策略
1.深度优先策略
深度优先的遍历策略类似于中华民族家族继承的策略,典型的如封建帝王的继承。
通常为长子继承,如果长子过世,长孙的优先继承,如果长孙过世切长孙无子,那么次子继承,这种继承上的优先关系被称为深度优先。
图2-4所示为一个无互相指向对方的网页连接模型:
A
D
B
C
E
G
F
I
H
图2-4简易网页链接模型
假设搜索引擎爬虫从A出发,根据深度优先策略,所走的路径为:
①:
A→B→E→H
②:
A→B→E→I
③:
A→C
④:
A→D→F
⑤:
A→D→G
深度优先策略是尽量往最远的地方走,直到不能走为止。
此算法的缺点在于,爬虫爬行了许多重复的节点,因此在实际过程中,爬虫需要判断“是否要继续向深层爬行”,抓取数据前需要询问总链接库,询问“这个链接是否已经爬行过了?
”然后记录爬行的分支节点。
2.广度优先策略
广度优先搜索策略是指在抓取过程中,在完成当前层次的搜索后,才进行下一层次的搜索。
该算法的设计和实现相对简单。
在目前为覆盖尽可能多的网页,一般使用广度优先搜索方法。
假设图2-4是广度优先策略,则所走路径为:
①:
A
②:
B→C→D
③:
E→F→G
④:
H→I
广度优先策略也称为“层次优先”,第一次层的优先级最高,以此类推,每一层中,内部优先级从左到右排列。
采用广度优先的好处有三点:
首先由于广度优先的算法相对简单,且距离种子站点越近的网页应该也越重要;其次互联网的深度也没有人们想象的那么深,许多站点有很多通道可以到达;再次广度优先的策略非常适合多个爬虫合作抓取。
但是广度优先的策略可能遇到死链,会导致爬虫重复抓取网页,浪费资源。
3.不重复抓取策略
不重复抓取的关键在于记住历史,爬虫记录历史的方式是哈希表,每一条记录是否被抓取的信息存放在哈希表的某一个槽位上。
若某网页在过去的某个时刻已经被抓取,则将其对应的槽位的值置1;反之置0。
有调查显示