搜索引擎的工作原理

搜索引擎的工作原理大致可以分为三个阶段:爬行和抓取、预处理、排名
marry
一、爬行和抓取
搜索引擎用来爬行和访问页面的程序被称为蜘蛛(spider),也称为机器人(bot)。搜索引擎蜘蛛访问网站页面时类似于普通用户使用的浏览器,蜘蛛程序发出页面访问请求后,服务器返回HTML代码,蜘蛛程序把收到的代码存入原始页面数据库。为了提高爬行和抓取速度,搜索引擎都是使用多个蜘蛛并发分布爬行。蜘蛛访问任何一个网站时都会先访问网站根目录下的robots.txt文件,吐过robots.txt文件禁止搜索引擎抓取某些文件或者目录,蜘蛛将遵守协议,不抓取被禁止的网址。所以robots.txt文件对一个网站来说是至关重要的。 为了抓取网上尽量多的页面,搜素引擎蜘蛛会跟踪页面上的链接,从一个页面爬行到下一个页面,就好像蜘蛛在蜘蛛网上爬行一样,这就是搜素引擎蜘蛛名称的由来。

最简单的爬行遍历策略分为两种:深度优先、广度优先

深度优先:蜘蛛沿着发现的链接一直向前爬行,直到前面再也没有其他链接,然后返回到第一个页面,沿着另一个链接再一直往前爬行。

广度优先:蜘蛛在一个页面上发现多个链接时,不是顺着一个链接一直向前,而是把页面上所有第一层链接都爬一遍,然后再沿着第二层页面上发现的链接爬向第三层页面。 通常这两种爬行策略时混合使用的。

吸引蜘蛛的方法:◆提高网站和页面的权重,◆提高页面更新度,◆高质量的导入链接,◆与首页点击距离近

为了避免重复爬行和抓取网址,搜索引擎会建立一个地址库,记录已经被发现还没有抓取的页面和已经被抓取的页面。地址库来源:◆人工录入的种子网站,◆蜘蛛从抓取页面获得的地址库中没有的网址,◆站长通过搜索引擎网页提交表格提交进来的网址

蜘蛛爬行的时候也会进行简单的复制内容检测,如果遇到权重很低的网站上大量转载或抄袭内容时,很可能不再继续爬行,这也是很多权重低的网站页面更新的很多很快但却没有被收录的原因之一。


二、预处理

●提取文字:搜索引擎预处理首先要做的就是从HTNL文件中去除标签、程序,提取出可以用于排名处理的网页文字内容(还包括META标签中的文字、图片替代文字、FLASH文件替代文字、链接锚点文字等)。

●中文分词:这一步在中文搜索引擎中才会用到。中文分词一般分为两类:字典匹配、基于统计。

字典匹配:将待分析的一段汉字与一个事先造好的词典中的词条进行匹配,在待分析汉字串中扫描到词典中已有的词条则匹配成功,或者说切分出一个单词。

基于统计:分析大量文字样本,计算出字与字相邻出现的统计概率,几个字相邻出现越多,就越可能形成一个单词。

●去停止词:搜索引擎在索引页面之前会去掉一些停止词,如:“的”、“地”、“得”之类的助词,“啊”、“哈”、“呀”之类的感叹词,“从而”、“以”、“却”之类的副词或介词。

●消除噪声:搜索引擎需要识别并消除噪声,排名时不使用噪声内容,基本方法是根据HTML标签对页面分块,区分出页头、正文、页脚、广告等区域,在网站上大量重复出现的区块往往属于噪声,对页面消噪后剩下的才是页面的主体内容。

●去重:同一篇文章经常重复出现在不同网站及同一个网站的不同网址上,搜索引擎并不喜欢则好重啊个重复性的内容,搜索引擎希望只返回相容文章的一篇,所以在惊醒索引前还需要识别和删除重复内容,这个过程就成为“去重”。

●正向索引:搜索引擎索引程序将页面及关键字形成词表结构存储进索引库,每个文件都对应一个文件ID,文件内容被表示为一串关键词的组合。实际上在搜索引擎索引库中,关键词也已经转换成为关键词ID,这样的数据结构就称为正向索引。

●倒排索引:搜索引擎将正向索引数据库重新构造为倒排索引,把文件对应到关键词的映射转换为关键词到文件的映射。

●链接关系计算:主要体现就是Google的PR值,搜狗的SR值等 ●特殊文件处理:搜索引擎有时也会抓取除HTML文件以外的文件,如:PDF、Word、WPS、XLS、PPT、TXT文件等

三、排名
●搜索词处理:★中文分词,★去停止词,★指令处理(及分词后的关键词逻辑关系,通常是“与”逻辑),★拼写错误矫正,★整合搜索触发(某些搜索词回触发整合搜索,如明星姓名经常会触发图片和视频内容)。

●文件匹配:搜索词经过处理后,搜索引擎得到的是以词为基础的关键词集合,文件匹配阶段就是找出含有所有关键词的文件。

Leave a Comment