十万个为什么

为什么搜索引擎可以搜索到那么多东西

现在,人们把越来越多的内容放在互联网上,据估计,在互联网上有数万亿的独立Web页面。那么,如何在这些海量的内容中获得需要的信息呢?人们发明了互联网搜索引擎来解决这个问题。我们知道,当用户在百度、谷歌或者必应等搜索引擎中输入关键字时,它们会找到包含关键字的Web 页面的链接,并按一定的顺序呈现给用户。那么,搜索引擎是怎样帮我们在网上搜索信息的呢?

一般说来,搜索引擎的工作大概分为三个部分。第一个部分称为信息抓取。搜索引擎使用被称为“网络爬虫”的程序来抓取网页上的所有链接。由于互联网的特性,大多数Web 页面都可以通过其他页面的链接得到访问。从理论上说,自有限的少数Web 页面出发,网络爬虫可以访问绝大多数的Web 网页。想象一下,我们可以把互联网看成一个巨大的蜘蛛网,交叉点是Web页面,交叉点之间的蛛丝是链接,爬虫从一个交叉点出发,沿着蛛丝就可以到达任何一个交叉点。

找到了Web 页面后,搜索引擎会开始它的第二部分工作:建立索引。简单说来,就是搜索引擎从Web 页面中提取关键字,并把页面信息甚至是整个页面的内容按照一定的规则保存在自己的数据库里。这样做的目的是使得信息能够尽快被找到,如果搜索引擎只是简单地把页面无规律地存放的话,每次检索都要遍历所有保存的信息,那就失去了搜索引擎的意义了。

举例来说,如果搜索引擎要为一个介绍动画片《西游记》的页面建立索引,那么“孙悟空”、“西游记”、“唐僧”、“吴承恩”等词一般都会成为该页面索引的一部分。值得一提的是,由于中文的特殊性(英文以词为单位,词和词之间用空格分隔,中文以字为单位,词和词之间没有明显的分隔),在提取关键字之前,一般还要对页面进行分词处理。

完成了前两部分工作,搜索引擎就可以向用户提供搜索服务了。搜索引擎拿到用户输入的关键字,检索自己的数据库,并把呈现出的搜索结果页面展示给用户。比如说,我们搜索“孙悟空”时,由于在建立索引时,动画片《西游记》的页面特征已经被存放到数据库中了,那么就可以通过“孙悟空”索引,把该页面的链接返回给用户。此外,返回的结果也会包含其他结果,例如连环画《西游记》的页面、书籍《西游记》的页面等。