搜索引擎的基本工作包括如下三个过程:先在互联网中发现、搜集网页信息;后提取信息和组织建立索引库;再由检索器根据用户输入的查询关键字在索引库中快速检出文档,进行文档与查询的相关度评价并对将要输出的结果排序,且将查询结果返回给用户。简言之,搜索引擎的工作,可以看作三步:从互联网上抓取网页→建立索引数据库→在索引数据库中搜索排序。
1.从互联网上抓取网页
利用能够从互联网上自动收集网页的网络机器人系统程序,自动访问互联网,并沿着任何网页中的所有URL爬到其他网页。重复这一过程,并把爬过的所有网页收集回来。
2.建立索引数据库
由分析索引系统程序对收集回来的网页进行分析,提取相关网页信息(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、与其他网页的链接关系等),根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后用这些相关信息建立网页索引数据库。
3.在索引数据库中搜索排序
用户输入关键词搜索后,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。因为所有相关网页针对该关键词的相关度早已算好,所以只需按照现成的相关度数值排序,相关度越高,网站排名越靠前。最后,由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。
网络机器人一般要定期重新访问所有网页,更新网页索引数据库,以反映出网页内容的更新情况,增加新的网页信息,去除死链接,并根据网页内容和链接关系的变化重新排序。这样,网页的具体内容和变化情况就会反映到用户查询的结果中。
各搜索引擎的能力和偏好不同,抓取的网页各不相同,排序算法也各不相同。大型搜索引擎的数据库储存了互联网上几亿至20亿的网页索引,数据量达到几千G甚至几万 G。但是,即使最大的搜索引擎建立超过亿网页的索引数据库,也只能占到互联网上普通网页的不到30%,不同搜索引擎之间的网页数据重叠率一般在 70%以下。使用不同搜索引擎的重要原因,就是因为它们能分别搜索到不同的内容。互联网上有更大量的内容,是搜索引擎无法抓取索引的,也是无法用搜索引擎搜索到的。