搜索引擎工作过程之排名
在经过了爬行和抓取、预处理之后,就来到了最后的排名环节。用户在搜索框填入关键词后,排名程序调用索引库数据,计算排名显示给用户,排名过程是与用户直接互动的。
1、搜索词处理
搜索引擎接收到用户的搜索词之后,需要对搜索词进行一些处理才能最后在搜索页进行排名呈现。主要包括中文分词、去停止词、指令处理、拼写错误矫正和整合搜索触发。
(1)中文分词。与页面索引时一样,搜索引擎在接收了用户输入的搜索词之后需要先进行中文分词。
(2)去停止词。就是把用户搜索词中的停止词去掉,提高排名相关性和效率。
(3)指令处理。查询词完成分词后,搜索引擎的默认处理方式是在关键词之间使用“与”逻辑。如搜索词为“网站建设”,程序会分为“网站”和“建设”两个词,那么页面中只有同时含有“网站”和“建设”才被认为是符合搜索条件的。另外用户输入的查询词还可能包含一些高级搜索指令,如加号、减号等,搜索引擎都需要做出识别和相应处理。
(4)拼写错误矫正。这个相信大家在平常搜索时都会碰到,比如将“网站建设”输入成“网站键设”,搜索引擎会进行提示“您要找的是不是网站建设”。
(5)合搜索触发。某些搜索词会触发整合搜索,比如明星姓名就经常触发图片和视频内容,当前的热门话题又容易触发资讯内容。哪些词触发哪些整合搜索,也需要在搜索词处理阶段计算。
2、文件匹配
搜索词经过处理后,搜索引擎得到的是以词为基础的关键词集合。文件匹配阶段就是找出含有所有关键词的文件。在索引部分提到的倒排索引使得文件匹配能够快速完成。
3、初始子集的选择
找到包含所有关键词的匹配文件后,还不能进行相关性计算,因为找到的文件经常会有几十万几百万,甚至上千万个。要对这么多文件实时进行相关性计算,需要的时间还是比较长的。
实际上用户并不需要知道所有匹配的几十万、几百万个页面,绝大部分用户只会查看前两页,也就是前20个结果。搜索引擎也并不需要计算这么多页面的相关性,而只要计算最重要的一部分页面就可以了。常用搜索引擎的人都会注意到,搜索结果页面通常最多显示100个。用户点击搜索结果页面底部的“下一页”链接,最多也只能看到第100页,也就是1000个搜索结果。
还没有计算相关性时,搜索引擎又怎么知道哪一千个文件是最相关的?所以用于最后相关性计算的初始页面子集的选择,必须依靠其他特征而不是相关性,其中最主要的就是页面权重。搜索引擎通常会用非相关性的页面特征选出一个初始子集。
4、相关性计算
这是搜索引擎算法中最令SEO感兴趣的部分,影响相关性的主要因素有:
(1)关键词常用程度
常用词就是经常使用到的词,例如人称代词,常用词的极致是停止词,对页面意义完全没有影响。所以搜索引擎对搜索词串中的关键词并不是一视同仁地处理,而是根据常用程度进行加权。不常用的词加权系数高,常用词加权系数低,排名算法对不常用的词给予更多关注。
我们假设A、B两个页面都各出现“我们”及“冥王星”两个词。但是“我们”这个词在A页面出现于普通文字中,“冥王星”这个词在A页面出现于标题标签中。B页面正相反,“我们”出现在标题标签中,而“冥王星”出现在普通文字中。那么针对“我们冥王星”这个搜索词,A页面将更相关。
(2)词频及密度
一般认为在没有关键词堆积的情况下,搜索词在页面中出现的次数多,密度越高,说明页面与搜索词越相关。当然这只是一个大致规律,实际情况未必如此,所以相关性计算还有其他因素。出现频率及密度只是因素的一部分,而且重要程度越来越低。
(3)关键词位置及形式
页面关键词出现的格式和位置都被记录在索引库中。关键词出现在比较重要的位置,如标题标签、黑体、H1等,说明页面与关键词越相关。这一部分就是页面SEO所要特别注意的。
(4)关键词距离
关键词距离,指搜索词被进行分词之后得到的几个词语之间在页面出现时的距离。比如“网站建设”这个搜索词,如果文本中出现的就是“网站建设”,那么就是与搜索一词最匹配的,如果“网站”和“建设”没有一起出现,而是中间隔着几个词,但是搜索引擎会按照两个词之间的距离来判定相关性。
(5)链接分析及页面权重
除了页面本身的因素,页面之间的链接和权重关系也影响关键词的相关性,其中最重要的是锚文字。页面有越多以搜索词为锚文字的导入链接,说明页面的相关性越强。
5、排名过滤及调整
选出匹配文件子集、计算相关性后,大体排名就已经确定了。之后搜索引擎可能还有一些过滤算法,对排名进行轻微调整,其中最主要的过滤就是施加惩罚。一些有作弊嫌疑的页面,虽然按照正常的权重和相关性计算排到前面,但搜索引擎的惩罚算法却可能在最后一步把这些页面调到后面去。
6、搜索缓存
如果每次搜索都重新处理排名可以说是很大的浪费。搜索引擎会把最常见的搜索词存入缓存,用户搜索时直接从缓存中调用,而不必经过文件匹配和相关性计算,大大提高了排名效率,缩短了搜索反应时间。
7、查询及点击日志
索用户的IP地址、搜索的关键词、搜索时间,以及点击了哪些结果页面,搜索引擎都记录形成日志。这些日志文件中的数据对搜索引擎判断搜索结果质量、调整搜索算法、预期搜索趋势等都有重要意义。
相信在了解了搜索引擎的工作原理之后,SEO人士就可以更有针对性的进行关键词的选择和处理。