浅析搜索引擎的工作原理-网站建设公司

发布日期:2024-12-26 00:11:12浏览次数:

你对于搜素引擎到底了解了多少。对于本身搜索引擎排名的基本原理应该清楚。地瓜也觉得现在做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)关键词常用程度。经过分词后的多个关键词,对整个搜索字符串的意义贡献并不相同。越常用的词对搜索词的意义贡献越小,越不常用的词对搜索词的意义贡献越大。举个例子,假设用户输入的搜索词是“我们冥王星”。“我们”这个词常用程度非常高,在很多页面上会出现,它对“我们冥王星”这个搜索词的辨识程度和意义相关度贡献就很小。找出那些包含“我们”这个词的页面,对搜索排名相关性几乎没有什么影响,有太多页面包含“我们”这个词。未来几年,都不会有实质性的改变。好了,以上是我的一些观点,欢迎大家指正。
如果您有什么问题,欢迎咨询技术员 点击QQ咨询