本章要点
本章介绍搜索引擎的发展史和当前形势,并对它未来的发展方向作了展望。本章是学习搜索引擎的引论,是一些非技术性知识。
1.1什么是搜索引擎
搜索引擎(Search Engine)就是用来搜索的工具。如果要想从一组文件中查找符合要求的文件,就需要用到搜索引擎。
搜索的过程就是,搜索引擎接收用户提出的要求,然后进行处理,从文件组中筛选和提取出符合要求的文件。
很明显,这里涉及几个基本问题。
第一,如何使搜索引擎读懂用户的要求。这是用户和搜索引擎之间的接口问题。
第二,当搜索引擎读懂用户的要求时,如何来进行处理。这涉及不同文件格式的解析和如何最快地处理,以及如何揣摩用户的真正意图从而提供最符合需要的结果。这一点,在文件数量特别大的情况下尤为重要。
第三,如何把搜索的结果显示给用户。这看起来简单,其实也涉及很多技术问题。比如,当搜索出的结果有300000条的时候,是否应该在一个页面或屏幕来显示?是否应该提供翻页的功能?你可能不认为这是个问题,认为当然要翻页了!但是,的确有一些大公司犯过这样的错误。类似的问题还有是否要存储网页快照,等等。
解决了这三个基本问题之后,一个搜索引擎就成型了。之后还要进一步考虑算法优化、程序性能问题,以及进行用户搜索偏好分析,提供与搜索相关的其他服务等。这些问题解决了,一个搜索引擎公司的技术方面就成熟了。
本书主要介绍两类搜索引擎:一类是本地搜索,就是在拥有数据的情况下进行搜索,这主要包括本地的文件系统和数据库搜索;另一类是网络搜索,就是先从局域网或互联网中抓取数据,然后对数据分析处理,之后进行搜索。前者,类似Beagle等桌面搜索引擎。后者,类似Google等网络搜索引擎。至于FTP搜索,技术上非常简单,本书不讲解。
两类搜索引擎的原理是互通的,理论上的差别并不显着,但实现时涉及一些技术细节的分歧,这是需要读者注意的。
本书着重讲解网络搜索,这也是目前最热的技术。
1.2搜索引擎的发展
网络的发展极大地影响了我们的生活方式,它让我们在更容易获取信息的同时,也彻头彻尾地将我们陷入无边无际的信息海洋之中。每时每刻我们都要自觉或不自觉,被动或主动地面对数十亿页面的网络信息,想找到自己需要的信息简直就是“大海捞针”。搜索引擎的横空出世,让我们有了探索信息海洋的指南针。随着技术的进步,这个指南针的功能也越来越强大,使用并接受它的人也越来越多。
1.2.1历史中的搜索引擎
搜索引擎被业界公认为继广告、网络游戏、无线增值之后互联网的第四桶金。它也成为继电子邮箱之后,使用率最高的网络应用产品。
那么,今天风光无限的搜索引擎走过了怎样一段历史呢?
1990年以前,没有人能搜索互联网。
现代意义上的所有搜索引擎的祖先,是1990年由加拿大魁北克省蒙特利尔的麦克吉尔(McGill)大学的学生Alan Emtage、PeterDeutsch、Bill Wheelan发明的Archie。当时万维网(World Wide Web)还未出现。Archie是第一个自动索引互联网上匿名FTP网站文件的程序,但它还不是真正的搜索引擎。Archie是一个可搜索的FTP文件名列表,用户必须输入精确的文件名搜索,然后Archie会告诉用户哪一个FTP地址可以下载该文件。
由于Archie深受欢迎,受其启发,内华达系统计算服务大学于1993年开发了一个Gopher搜索工具Veronica。后来又出现了另一个Gopher搜索工具Jughead。
由于专门用于检索信息的机器人(Robot)程序像蜘蛛(Spider)一样在网络间爬来爬去,因此,搜索引擎的机器人程序被称为蜘蛛程序。世界上第一个蜘蛛程序,是麻省理工大学的互联网游荡者(World Wide Web Wanderer),它被用于追踪互联网发展规模。刚开始它只用来统计互联网上的服务器数量,后来则发展为也能捕获网址。
与互联网游荡者相对应,1993年10月,Martijn Koster创建了ALIWEB,它相当于Archie的HTTP版本。ALIWEB不使用蜘蛛程序,如果网站主管们希望自己的网页被ALIWEB收录,需要自己提交每一个网页的简介索引信息,这类似于后来大家熟知的Yahoo。
1993年底,一些基于此原理的搜索引擎开始纷纷涌现,其中最负盛名的三个是:苏格兰的Jump Station、卡罗拉多大学Oliver McBryan的互联网蠕虫(World Wide Web Worm)、NASA的RBSE蜘蛛。
1993年2月,6个斯坦福的大学生着手分析字词关系,以对互联网上的大量信息作更有效的检索,这就产生了Excite。后来曾以概念搜索闻名,2002年5月,Excite被Infospace收购,由此停止自己的搜索引擎而改用元搜索引擎Dogpile。
1994年1月,第一个既可搜索又可浏览的分类目录EINet Galaxy上线。除了网站搜索,它还支持Gopher和Telnet搜索。
1994年4月,斯坦福大学的两名博士生,美籍华人杨致远(Jerry Yang)和David Filo共同创办了雅虎(Yahoo!)。随着访问量和收录链接数的增长,雅虎目录开始支持简单的数据库搜索。因为当时雅虎的数据是手工输入的,所以不能真正被归为搜索引擎,事实上只是一个可搜索的目录。
1994年初,华盛顿大学的学生Brian Pinkerton开始了他的小项目网页抓取器(Web Crawler)。1994年4月20日,网页抓取器正式亮相时仅包含来自6000个服务器的内容。网页抓取器是互联网上第一个支持搜索文件全部文字的全文搜索引擎,在它之前,用户只能通过网页地址和摘要搜索,摘要一般来自人工评论或程序自动取正文的前100个字。后来网页抓取器陆续被美国在线(AOL)和Excite收购,现在和Excite一样改用元搜索引擎Dogpile。
Lycos是搜索引擎史上又一个重要的进步。卡内基梅隆大学的Michael Mauldin将John Leavitt的蜘蛛程序接入到其索引程序中,创建了Lycos。1994年7月20日,数据量为54000的Lycos正式发布。除了相关性排序外,Lycos还提供了前缀匹配和字符相近限制。Lycos第一个在搜索结果中使用了网页自动摘要,而它最大的优势还在于远胜过其他搜索引擎的数据量:1994年8月,394000个文档;1995年1月,150万个文档;1996年11月,超过6000万个文档。(注:1999年4月,Lycos停止自己的蜘蛛,改由Fast提供搜索引擎服务。)Infoseek是另一个重要的搜索引擎,虽然该公司声称1994年1月已创立,但直到1994年年底它的搜索引擎才与公众见面。Infoseek起初只是一个不起眼的搜索引擎,它沿袭雅虎和Lycos的概念,并没有什么独特的革新。但是它的发展史和后来受到的众口称赞证明,起初第一个登台并不总是很重要。Infoseek友善的用户界面、大量附加服务(例如:UPS跟踪,新闻等)使它声望日隆。而1995年12月与Netscape的战略性协议,使Infoseek成为一个强势搜索引擎:当用户单击Netscape浏览器上的搜索按钮时,就会弹出Infoseek的搜索服务,而此前是由雅虎提供该服务。(注:Infoseek后来曾以相关性闻名,2001年2月,Infoseek停止了自己的搜索引擎,开始改用Overture的搜索结果。)1995年,出现了一种新的搜索引擎形式——元搜索引擎。用户只需提交一次搜索请求,由元搜索引擎负责转换处理后提交给多个预先选定的独立搜索引擎,并将从各独立搜索引擎返回的所有查询结果,集中起来处理后再返回给用户。第一个元搜索引擎,是华盛顿大学硕士生Eric Selberg和Oren Etzioni的元抓取器(Meta Crawler)。但元搜索引擎的搜索效果始终不理想,所以没有哪个元搜索引擎有过强势地位。
DEC公司的Alta Vista在1995年12月登场亮相,大量的创新功能使它迅速达到当时搜索引擎的顶峰。Alta Vista最突出的优势在于它的速度。而AltaVista的另一些新功能,则永远改变了搜索引擎的定义。Alta Vista是第一个支持自然语言搜索的搜索引擎,是第一个实现高级搜索语法(如AND,OR,NOT等)的搜索引擎。用户可以用Alta Vista搜索新闻组的内容并从互联网上获得文章,还可以搜索图片名称中的文字、搜索标题、搜索JavaApplets、搜索ActiveX控件。另外,Alta Vista也声称是第一个支持用户自己向网页索引库提交或删除网页路径的搜索引擎,并能在24小时内上线。AltaVista最有趣的新功能之一,是搜索有链接指向某个网页路径的所有网站。在面向用户的界面上,Alta Vista也作了大量革新。它在搜索框区域下放了提示以帮助用户更好地输入表达搜索式,这些小提示经常更新,这样,在搜索过几次以后,用户会看到很多他们可能从来不知道的的有趣功能。这一系列功能,逐渐被其他搜索引擎广泛采用。1997年,Alta Vista发布了一个图形演示系统Live Topics,帮助用户从成千上万的搜索结果中找到想要的信息。
随后到来的搜索引擎是Hot Bot。1995年9月26日,加州伯克利分校的助教Eric Brewer、博士生Paul Gauthier创立了Inktomi公司,随后强大的Hot Bot出现在世人面前。它声称每天能抓取1千万页索引以上,所以有远超过其他搜索引擎的新内容。HotBot也大量运用cookie储存用户的个人搜索喜好设置。Hotbot曾是随后几年最受欢迎的搜索引擎之一,后被Lycos收购。
Northernlight公司于1995年9月成立于马萨诸塞州剑桥,1997年8月,Northernlight搜索引擎正式现身。它曾是拥有最大数据库的搜索引擎之一,它没有忽略词(Stop Words),具有良好的高级搜索语法,第一个支持对搜索结果进行简单的自动分类。2002年1月16日,Northernlight公共搜索引擎关闭,随后被Divine公司收购。
1998年10月之前,Google只是斯坦福大学的一个小项目Back Rub。1995年博士生Larry Page开始学习搜索引擎设计,于1997年9月15日注册了google.com的域名,1997年底,在Sergey Brin和Scott Hassan、Alan Steremberg的共同参与下,Bach Rub开始提供Demo。1999年2月,Google完成了从Alpha版到Beta版的蜕变。Google公司则把1998年9月27日认作自己的生日。
Google在页面等级、动态摘要、网页快照、多文档格式支持、地图、股票、词典、寻人等集成搜索、多语言支持、用户界面等功能上的革新,像AltaVista一样,再一次改变了搜索引擎的定义。
在2000年以前,Google虽然以搜索准确性备受赞誉,但因为数据库不如其他搜索引擎大,缺乏高级搜索语法,所以使用价值不是很高,推广并不快。直到2000年其数据库升级后,又借被雅虎选作搜索引擎的东风,才一飞冲天。
Fast公司创立于1997年,是挪威科技大学学术研究的副产品。1999年5月,该公司发布了自己的搜索引擎All The Web。Fast创立的目标是做世界上最大和最快的搜索引擎,经过几年的发展,已经几乎达到了这个目标。Fast的网页搜索可利用开放式目录管理(ODP)自动分类,支持Flash和PDF搜索,支持多语言搜索,还提供新闻搜索、图像搜索、视频、MP3和FTP搜索,拥有极其强大的高级搜索功能。
Teoma起源于1998年Rut gers大学的一个项目。Apostolos Gerasoulis教授带领华裔Tao Yang教授等人在新泽西创立了Teoma,2001年春初次登场,2001年9月被提问式搜索引擎Ask Jeeves收购,2002年4月再次发布。Teoma的数据库偏小,但有两个新颖的功能:支持类似自动分类的再次提取,同时提供专业链接目录的资源。