找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 517|回复: 0

[杂谈] 搜索引擎工作的基础流程与原理

[复制链接]
发表于 2012-10-28 11:24:35 | 显示全部楼层 |阅读模式 来自 中国–河北–邯郸
搜索引擎最重要的是什么?有人会说是查询结果的准确性,有人会说是查询结果的丰富性,但其实这些都不是搜索引擎最最致命的地方。对于搜索引擎来说, 最最致命的是查询时间。试想一下,如果你在百度界面上查询一个关键词,结果需要5分钟才能将你的查询结果反馈给你,那结果必然是你很快的舍弃掉百度。
搜索引擎为了满足对速度苛刻的要求(现在商业的搜索引擎的查询时间单位都是微秒数量级的),所以采用缓存支持查询需求的方式,也就是说我们在查询搜 索时所得到的结果并不是及时的,而是在其服务器已经缓存好了的结果。那么搜索引擎工作的大体流程是什么样子呢?我们可以理解为三段式。
本文仅仅是对着三段工作流程进行大体上的讲解与综述,其中一些详细的技术细节将会用其它的文章进行单独的讲解。
.网页搜集
网页搜集,其实就是大家常说的蜘蛛抓取网页。那么对于蜘蛛(google称之为机器人)来说,他们感兴趣的页面分为三类:
1.蜘蛛从未抓去过的新页面。
2.蜘蛛抓取过,但页面内容有改动的页面。
3.蜘蛛抓取过,但现在已删除了的页面。
那么如何行之有效的发现这三类页面并进行抓取,就是spider程序设计的初衷与目的。那么这里就涉及到一个问题,蜘蛛抓取的起始点。
每一位站长只要你的网站没有被严重降权,那么通过网站后台的服务器,你都可以发现勤劳的蜘蛛光顾你的站点,但是你们有没有想过从编写程序的角度上来 说,蜘蛛是怎么来的呢?针对于此,各方有各方的观点。有一种说法,说蜘蛛的抓取是从种子站(或叫高权重站),依照权重由高至低逐层出发的。另一种说法蜘蛛 爬在URL集合中是没有明显先后顺序的,搜索引擎会根据你网站内容更新的规律,自动计算出何时是爬取你网站的最佳时机,然后进行抓取。
其实对于不同的搜索引擎,其抓取出发点定然会有所区别,针对于百度,笔者较为倾向于后者。在百度官方博客发布的《索引页链接补全机制的一种办法》一文中,其明确指出“spider会尽量探测网页的发布周期,以合理的频率来检查网页,由此我们可以推断,在百度的索引库中,针对每个URL集合,其都计算出适合其的抓取时间以及一系列参数,然后对相应站点进行抓取。
在这里,我要说明一下,就是针对百度来说,site的数值并非是蜘蛛已抓取你页面的数值。比如,所得出的数值并 不是大家常说的百度收录数值,想查询具体的百度收录量应该在百度提供的站长工具里查询索引数量。那么site是什么?这个我会在今后的文章中为大家讲解。
那么蜘蛛如何发现新链接呢?其依靠的就是超链接。我们可以把所有的互联网看成一个有向集合的**体,蜘蛛由起始的URL集合A沿着网页中超链接开始 不停的发现新页面。在这个过程中,每发现新的URL都会与集合A中已存的进行比对,若是新的URL,则加入集合A中,若是已在集合A中存在,则丢弃掉。蜘 蛛对一个站点的遍历抓取策略分为两种,一种是深度优先,另一种就是宽度优先。但是如果是百度这类商业搜索引擎,其遍历策略则可能是某种更加复杂的规则,例 如涉及到域名本身的权重系数、涉及到百度本身服务器矩阵分布等。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

▶专业解决各类DiscuzX疑难杂症、discuz版本升级 、网站搬家 和 云服务器销售!▶有偿服务QQ 860855665 更多精品应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )|网站地图

GMT+8, 2026-1-22 00:31 , Processed in 0.035984 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表