搜索引擎原理

一、抓取
 
搜索引擎不可能手动抓取互联网站的页面。那么程序员就编写了一个可以自动抓取的程序,也就是我们说的spider或者爬虫。
 
爬虫会收集互联网上中包含“keywords”相关的所有内容,爬虫将会自动访问互联网,把虽有相关内容收集。
 
二、建立索引数据库
 
蜘蛛会扫描一定IP地址范围内的网站,沿着网络上的链接从一个网页到另一个网页,从一个网站到另一个网站收集网页信息。为了保证最新收集的信息,它还将回访已被捕获的网页。网络机器人或网络蜘蛛收集的网页需要其他程序进行分析。在添加到索引数据库之前,根据某些相关算法大量计算网页索引。
 
三、在数据库中搜索排序
 
搜索引擎拥有的文档中的每个单词都有一个反转列表。它记录了单词出现在多少文档中,分别是哪些文档,每个文档分部出现多少次,分别出现在哪里。这样当搜索相关单词时,百度就不用遍历所有的文档,只需要查找每个单词对应的反转列表就可以知道这个词在哪里出现了。每一个网络文档不仅只有文本信息。它还可能包括文件名,引用等部分。为了提高搜索质量,搜索引擎需要分别处理文档的不同部分,构建反转列表。将单词的每个部分添加到属于这个部分的反转列表中。

搜索引擎原理(图1)
 
真正意义上的搜索引擎通常是指收集数千万到数十亿个网页,索引网页中的每个关键词,建立索引数据库的全文搜索引擎。当用户搜索关键字时,所有包含在页面内容中的关键字的网页都将被搜索为搜索结果。系统会对其进行一系列复杂的分析,根据分析结论在索引库中找到最匹配的一系列网页,根据用户输入的关键词所体现的需求和网页的优劣进行评分,并根据最终分数进行排列。
 
营销型网站