在互联网时代,搜索引擎可以说是日常生活的一部分。不仅如此,搜索引擎历经20多年的风霜雨雪,仍然牢牢占据着流量入口,不得不让人感叹。
而且,提起搜索引擎,我们都会想到一家高大上的巨无霸公司和一家被黑出xiang的巨霸公司。足以见得搜索引擎的巨大作用。
作为产品人,对此当然不能视而不见,也应该了解了解其工作原理。
搜索引擎工作原理大致可以分为3个步骤
1. 爬行与抓取
2. 预处理
3. 排序
所谓一图胜千言,没图我说个……
PS:上图总结自《SEO实战密码》。
下面详细叙述:
简单地说:就是搜索引擎蜘蛛沿着互联网络爬行并抓取其爬行的页面,将这些抓取的页面存储起来。
说到这,你可能会问:为什么叫「蜘蛛」?
为了抓取尽量多的页面,搜索引擎会跟踪页面上的链接,从一个页面爬行到下一个页面,好像蜘蛛在蜘蛛网上爬行那样,这就是 搜索引擎蜘蛛 这个名称的由来。
搜索引擎在跟踪网络上的链接时,会使用一定策略,因为现在的网络链接太多。最简单的爬行遍历策略有两种,一种是 深度优先 ,一种是 广度优先 。
还有一点值得一提:搜索引擎访问网站页面时 类似于普通用户使用的浏览器 。搜索引擎蜘蛛抓取的数据存入原始页面数据库,其中的页面数据与用户浏览器得到的HTML完全一样。
由于抓取的页面数量太大(以”亿”为单位),无法快速实时排序,所以需要预处理。这就是产品设计中的「 复杂性守恒原则 」,我们没办法让用户等待十几秒甚至更久,就只能在后台处理上下功夫。
在一些资料中,「预处理」也被称为「索引」,因为「索引」是预处理最主要的内容。
预处理的过程比较复杂,值得一提的有这么几点:
得到了倒排索引,就能很快地根据用户搜索的关键词找到对应文件,但这样就够了吗?别天真啊。
通过上述步骤,其实只得到了页面本身的内容。说白了,就是页面本身告诉搜索引擎自己如何如何。
俗话说:王婆卖瓜,自卖自夸。
就像我们网购时不仅会看店家给的商品介绍,还会看看买家的评论一样,页面内容质量,也需要其他人的评价——这里的「其他人」指「其他页面。」所以,我们还需要链接关系计算。
发现没有:排名,是用户是用户唯一能感觉到的步骤,爬行与抓取、预处理,都在后台完成。正因如此,用户才会感到用起来十分快捷。
排名的过程也比较复杂,其中值得一提的有如下几点:
但由于每个关键词对应的文件数量都可能是巨大的(如几亿个),处理如此庞大的数据量,无法满足用户对「快」的需求。同时,用户并不需要所有内容,他们往往只查看前几页内容,甚至很多用户只查看第一页的前几条内容。因此,选择一定数量的内容进行处理,很有必要。这就涉及到 选择初识子集 。
但如何选择呢?这是一个问题。
但到此就结束了吗?还没有哦。
本文由 @ITDoer 原创发布于人人都是产品经理。未经许可,禁止转载
评论留言