您对于搜素引擎到底了解了多少。对于本身搜索引擎排名的基本原理应该清楚。地瓜也觉得现在做 SEO 站群的大虾们越来越多,什么感想,什么方讨论都是近乎雷同,很多时候我们自认为自己是 SEO 站群,其实我们只是知道些简单的方法与技巧,真正的原理,真正的是什么并没有搞明白。因此,地瓜觉得自己也有必要多多学习与感悟 SEO 站群中基本其实也是核心的东西。搜索引擎工作过程非常复杂,地瓜简单分享搜索引擎是怎样实现网页排名的。正如 ZAC 书中所说的 “这里介绍的内容相对于真正的搜索引擎技术来说只是皮毛,不过对 SEO 站群人员已经足够用了。” 搜索引擎的工作过程大体上可以分成三个阶段。 (1) 爬行和抓取:搜索引擎蜘蛛通过跟踪连结访问网页,获得页面 HTML 代码存入资料库。 (2) 预处理:索引程序对抓取来的页面资料进行文字提取、中文分词、索引等处理,以备排名程序呼叫。 (3) 排名:多用户输入关键词后,排名程序呼叫索引库资料,计算相关性,然后按一定格式生成搜索结果页面。而本文,地瓜分享的是搜索引擎工作原理的第三个步骤:步骤,方法,排名: 经过搜索引擎蜘蛛抓取页面,索引程序计算得到倒排索引后,搜索引擎就准备好可以随时处理多用户搜索了。多用户在搜索框填入关键词后,排名程序呼叫索引库资料,计算排名显示给多用户,排名过程是与多用户直接互动的。 1. 搜索词处理搜索引擎接收到多用户输入的搜索词后,需要对搜索词做一些处理,才能进入排名过程。搜索词处理包括如下几方面。 (1) 中文分词。与页面索引时一样,搜索词也必须进行中文分词,将查询字串转换为以词为基础的关键片语合。分词原理与页面分词相.(2) 去停止词。和索引时一样,搜索引擎也需要把搜索词中的停止词去掉,大限度地提高排名相关性及效率。 (3) 指令处理。查询词完成分词后,搜索引擎的预设处理方式是在关键词双头螺柱联合之间使用 “与” 逻辑。也就是说多用户搜索 “*方法” 时,程序分词为 “*” 和 “方法” 两个词,搜索引擎排序时预设认为,多用户寻找的是既包含 “*”,也包含 “方法” 的页面。只包含 “*” 不包含 “方法”,或者只包含 “方法” 不包含 “*” 的页面,被认为是不符合搜索条件的。当然,这只是极为简化的为了说明原理的说法,实际上我们还是会看到只包含一部分关键词的搜索结果。另外多用户输入的查询词还可能包含一些高阶搜索指令,如加号、减号等,搜索引擎都需要做出识别和相应处理。有关高阶搜索指令,后面还有详细说明。 (4) 拼写错误矫正。多用户如果输入了明显错误的字或英文单词拼错,搜索引擎会提示多用户正确的用字或拼法。 (5) 整合搜索触发。某些搜索词会触发整合搜索,比如明星姓名就经常触发图片和视讯内容,当前的热门话题又容易触发资讯内容。哪些词触发哪些整合搜索,也需要在搜索词处理阶段计算。 2. 档案匹配搜索词经过处理后,搜索引擎得到的是以词为基础的关键词*。档案匹配阶段就是找出含有所有关键词的档案。在索引部分提到的倒排索引使得档案匹配能够快速完成。假设多用户搜索 “关键词 2 关键词 7”,排名程序只要在倒排索引中找到 “关键词 2” 和 “关键词 7” 这两个词,就能找到分别含有这两个词的所有页面。经过简单计算就能找出既包含 “关键词 2”,也包含 “关键词 7” 的所有页面:档案 1 和档案 6 。 3. 初始子集的选择找到包含所有关键词的匹配档案后,还不能进行相关性计算,因为找到的档案经常会有几十万几百万,甚至上千万个。要对这么多档案实时进行相关性计算,需要的时间还是比较长的。实际上多用户并不需要知道所有匹配的几十万、几百万个页面,绝大部分多用户只会检视前两页,也就是前 20 个结果。搜索引擎也并不需要计算这么多页面的相关性,而只要计算重要的一部分页面就可以了。常用搜索引擎的人都会注意到,搜索结果页面通常多显示 100 个。多用户点选搜索结果页面底部的 “下一页” 连结,多也只能看到第 100 页,也就是 1000 个搜索结果。搜索引擎只需要计算前 1000 个结果的相关性,就能满足要求。但问题在于,还没有计算相关性时,搜索引擎又怎么知道哪一千个档案是相关的? 所以用于后相关性计算的初始页面子集的选择,必须依靠其他特征而不是相关性,其中主要的就是页面权重。由于所有匹配档案都已经具备了基本的相关性 (这些档案都包含所有查询关键词),搜索引擎通常会用非相关性的页面特征选出一个初始子集。初始子集的数目是多少? 几万个? 或许更多,外人并不知道。不过可以肯定的是,当匹配页面数目巨大时,搜索引擎不会对这么多页面进行计算,而必须选出页面权重较高的一个子集,再对子集中的页面进行相关性计算。 4. 相关性计算选出初始子集后,对子集中的页面计算关键词相关性。计算相关性是排名过程中重要的一步。相关性计算是搜索引擎演算法中令 SEO 站群感兴趣的部分。影响相关性的主要因素包括如下几方面。 (1) 关键词常用程度。经过分词后的多个关键词,对整个搜索字串的意义贡献并不相同。越常用的词对搜索词的意义贡献越小,越不常用的词对搜索词的意义贡献越大。举个例子,假设多用户输入的搜索词是 “我们冥王星” 。 “我们” 这个词常用程度非常高,在很多页面上会出现,它对 “我们冥王星” 这个搜索词的辨识程度和意义相关度贡献就很小。找出那些包含 “我们” 这个词的页面,对搜索排名相关性几乎没有什么影响,有太多页面包含 “我们” 这个词。未来几年,都不会有实质性的改变。好了,以上是我的一些观点,欢迎大家指正。