×

SEO 搜索引擎 排名

搜索引擎技术解析:排名机制解析

元智汇电子 元智汇电子 发表于2024-01-23 16:18:55 浏览89 评论0

抢沙发发表评论

引言

搜索引擎的运作过程极为复杂。在接下来的三篇文章中,我将简要介绍搜索引擎如何实现网页排名。尽管本文介绍的内容相对于真正的搜索引擎技术而言只是入门,但对于大多数SEO人员来说,这已经足够应对日常需求。

搜索引擎的三个主要阶段

  1. 爬行和抓取: 搜索引擎蜘蛛通过跟踪和访问网页,读取页面HTML代码,并将其存入数据库。

  2. 预处理: 索引程序对抓取的页面数据进行文字提取、中文分词、索引、倒排索引等处理,为排名程序提供调用的数据。

  3. 排名: 用户在搜索框中输入查询词后,排名程序调用索引库数据,计算相关性,并按照特定格式生成搜索结果页面。

深入排名机制

搜索引擎蜘蛛完成对页面的抓取,索引程序经过计算生成了倒排索引,这时搜索引擎已经准备好随时处理用户的搜索请求。用户输入查询词后,排名程序调用索引数据,计算排名结果并呈现给用户,整个过程直接与用户进行互动。


一、搜索关键词的处理流程

1. 中文分词

当搜索引擎接收到用户的搜索词后,首要任务是进行中文分词。这一步骤与页面索引时的处理相似,将查询字符串进行分词,将其转换为基于词的关键词组合。中文分词的原理保持一致,确保搜索引擎能够准确理解用户的搜索意图。

2. 去停止词

与索引页面时一样,搜索引擎需要将搜索词中的停止词去除,以提高排名相关性和效率。去停止词的过程有助于减少无关因素对搜索结果的干扰,使得排名更加精准。

3. 指令处理

分词完成后,默认的搜索引擎处理方式是采用“与”逻辑,即在关键词之间使用“与”的连接。例如,用户搜索“减肥方法”时,程序会将其分词为“减肥”和“方法”,默认认为用户希望找到同时包含这两个关键词的页面。

页面只包含其中一个关键词而不包含另一个的情况被认为不符合搜索条件。当然,这是一种简化的说法,实际中我们也会看到只包含部分关键词的搜索结果。此外,用户输入的查询词可能包含一些高级搜索指令,如加号、减号等,搜索引擎也需要对其进行识别和相应处理。高级搜索指令的详细说明将在后文中介绍。

4. 拼写错误校正

当用户输入明显错误的字或英文单词时,搜索引擎会主动提供正确的用字或拼法,以确保用户能够得到更准确的搜索结果。这种拼写错误矫正的功能有助于用户纠正输入时的常见拼写错误,提升搜索体验。

image.png

5. 整合搜索触发

某些搜索词可能会触发整合搜索,例如明星姓名通常会触发图片和视频内容的显示,而当前热门话题可能会触发相关资讯内容的展示。确定哪些词会触发哪些整合搜索,需要在搜索词处理阶段进行计算。这一功能确保用户能够在搜索结果中获得更全面、多样的信息。

6. 搜索框提示

在用户填写搜索框的过程中,搜索引擎会根据热门搜索数据提供多组可能的查询词,以减少用户的输入时间。搜索框提示通过展示可能相关的搜索词,为用户提供了方便快捷的选择,同时促使用户更精准地表达其搜索需求。


二、文件匹配

在搜索词经过处理后,搜索引擎生成了以词为基础的关键词集合。文件匹配阶段的任务是寻找包含所有搜索关键词的文件。通过倒排索引的快速查询,可以高效地完成文件匹配过程,具体如下图所示。

image.png

倒排索引表明了每个关键词与对应文件的关联关系。通过检索这个索引,搜索引擎能够迅速找到包含用户输入的所有关键词的文件,从而为后续的排名处理提供基础。

这一阶段的优化使得搜索引擎能够在海量数据中快速定位符合用户需求的文件,提高了搜索效率和结果的准确性。


三、初始子集的筛选

在找到包含所有关键词的匹配文件之后,即使这些文件数量可能达到几十万、几百万,甚至上千万个,实时进行相关性计算对搜索引擎来说仍然是一项耗时任务。

用户实际上并不需要查看所有匹配的页面,大多数用户只会关注前两页,即前20个结果。搜索引擎也无需计算如此多页面的相关性,只需计算最为重要的一部分页面即可。常见搜索引擎搜索结果页面通常最多显示100个,用户点击“下一页”链接也只能浏览到第100页,即1000个搜索结果。这是搜索引擎的一种限制,如Yahoo、Google、搜狗最多显示100页。image.png

百度通常返回76页结果,360搜索通常返回64页结果,而必应的搜索结果页面数量会根据查询词而变化,但也不会超过100页。

image.png

因此,最多只需考虑计算前1000个结果的相关性。但在尚未进行相关性计算之前,搜索引擎又如何确定哪1000个文件是最相关的呢?这就需要选择一个初始页面子集,而这个选择不能依赖相关性,而是依赖其他页面特征,其中最主要的是页面权重。由于所有匹配文件都具备最基本的相关性(它们都包含所有查询关键词),搜索引擎通常会使用非相关性的页面特征来选择初始子集。

初始子集的具体数量是多少呢?或许几万个,甚至更多,这并非外界所知。但可以确定的是,在匹配页面数量巨大的情况下,搜索引擎不会对所有这些页面进行实时计算,而是必须选择出权重较高的一个子集,然后对这个子集中的页面进行相关性计算。


四、相关性计算

在选择初始子集后,搜索引擎会对该子集中的页面进行关键词相关性的计算,这是排名过程中最为关键的一步。相关性计算是搜索引擎算法中最引起SEO人员关注的部分。

相关性的主要影响因素包括以下几个方面:

1. 关键词的常用程度

经过分词后,搜索字符串中的多个关键词对整个搜索意义的贡献并不相同。常用的词对搜索的意义贡献较小,而不常用的词则贡献较大。以一个例子来说明,如果用户输入搜索词“我们冥王星”,其中“我们”是一个常用词,在许多页面上都会出现,因此对于“我们冥王星”这个搜索词的相关性贡献较小。与之相反,“冥王星”这个词的常用程度较低,因此对于整个搜索词的相关性贡献更大。搜索引擎在处理搜索词串中的关键词时,会根据它们的常用程度进行加权处理。不常用的词具有较高的加权系数,而常用词的加权系数较低。排名算法更加关注不常用的词,因为它们对页面的意义贡献更大。

举个例子,假设A和B是两个页面,都包含“我们”和“冥王星”这两个词。然而,“我们”在A页面中以普通文字形式出现,而“冥王星”在A页面的标题标签中出现。与之相反,B页面中“我们”出现在标题标签中,“冥王星”出现在普通文字中。对于搜索词“我们冥王星”,A页面将更相关,因为搜索引擎对于不常用的词给予了更多的关注。

2、词频及密度

通常情况下,在没有关键词堆积的情况下,搜索词在页面中出现的次数越多,密度越高,就说明页面与搜索词的相关性越高。然而,这只是一个大致的直观规律,实际情况要更为复杂,因为出现频率及密度只是排名因素中的一小部分。

3、关键词位置及形式

就像在索引部分提到的,页面中关键词出现的格式和位置都被记录在索引库中。关键词出现在一些比较重要的位置,比如标题标签、黑体、H1等,说明页面与关键词的相关性更高。这一方面也是页面SEO需要解决的问题。

4、关键词距离

关键词在页面上切分后完整匹配地连续出现,说明页面与搜索词的相关性最高。举例来说,当用户搜索“减肥方法”时,页面上连续完整出现“减肥方法”四个字是最相关的情况。如果“减肥”和“方法”两个词没有完全连续匹配出现,但它们的距离比较近,搜索引擎也会认为相关性稍微大一些。

5、链接分析及页面权重

除了考虑页面本身的因素外,搜索引擎还会关注页面之间的链接和权重关系,其中锚文字是影响最为显著的因素。页面上拥有更多以搜索词为锚文字的导入链接,通常意味着页面与搜索词的相关性更强。链接分析还包括链接源页面的主题以及锚文字周围的文字等多个方面。

上述只是对一些因素的简要介绍,本书后续章节将更详细地讨论这些因素对搜索引擎排名的具体影响。


五、排名过滤及调整

在确定了匹配文件子集并计算了相关性后,搜索引擎会进行大体排名。然后,可能还会应用一些过滤算法对排名进行轻微调整,其中最主要的过滤手段是施加惩罚。对于一些具有作弊嫌疑的页面,尽管它们按照正常的权重和相关性计算排到前面,但搜索引擎的惩罚算法可能在最后一步将这些页面调整到较后面的位置。经典的例子包括百度的11位、Google 的负6、负30、负950等算法。


六、排名显示

一旦所有排名确定,排名程序将调用原始页面的标题标签、说明标签、快照日期等数据,并将其显示在搜索结果页面上。在某些情况下,搜索引擎可能需要动态生成页面摘要,而不仅是调用页面本身的说明标签。


七、搜索级存

很大一部分用户搜索的查询词存在着显著的重复。根据二八定律,总搜索次数的80%通常集中在20%的常见查询词上。虽然长尾理论指出最常见的搜索词并不会占到80%那么多,但实际上存在一部分搜索词占据了相当大的比例。尤其在发生热门新闻事件时,每天都有数百万人搜索完全相同的词汇。

为了避免每次搜索都重新处理排名,搜索引擎智能地将最常见的搜索词及其结果存入缓存。这样,用户在搜索时可以直接从缓存中获取结果,无需经过文件匹配和相关性计算,显著提高了排名效率,同时缩短了搜索反应时间。


八、查询及点击日志

搜索引擎会记录搜索用户的IP地址、搜索的查询词、搜索时间,以及用户点击了哪些结果页面,形成详细的查询及点击日志。这些日志文件中的数据对搜索引擎在判断搜索结果质量、调整搜索算法以及预测搜索趋势等方面具有重要意义。

前文简要介绍了搜索引擎的工作过程,然而实际上,搜索引擎的工作步骤和算法相当复杂。尽管以上说明较为简略,其中涉及了许多技术难点。

目前,搜索引擎仍在不断优化算法和数据库格式。各种搜索引擎的工作步骤可能存在一些差异,但总体而言,所有主流搜索引擎的基本工作原理基本相同。在过去几年,以及可预见的未来几年中,这些原理都不太可能发生实质性的改变。

群贤毕至

访客