搜索

浅谈搜索引擎工作原理

admin admin

作为一名合格的SEO优化人员,了解搜索引擎的工作原理很有必要,毕竟这是我们每天打交道的东西,知己知彼才能百战不殆。但是在实际工作当中,很多SEO人员对这部分知识并不十分了解,常常通过一些固定的手法来优化网站排名,比如发文章、发外链、交换友链,而很难深入思考自己网站所面临的问题,也不懂得变通,在遇到问题时就手足无措,其实这些都离不开搜索引擎的工作原理。
搜索引擎.jpg
搜索引擎的工作过程大体上可以分为三个阶段:
(1)爬行和抓取:搜索引擎蜘蛛通过跟踪链接发现和访问网页,并读取页面代码存入数据库。
(2)预处理:索引程序对抓取的页面进行分析处理,包括文字提取、中文分词、索引、倒排索引等处理,以备排名程序调用。
(3)排名:当用户输入查询词后,排名程序调用索引数据库,计算相关性,并按照一定格式生成搜索结果页面。

一、爬行和抓取

搜索引擎通过蜘蛛程序(spider)来爬行和抓取网站数据。为了提升效率,通常使用多个蜘蛛并发分布爬行,并首先访问网站根目录下的robots.txt文件,遵守文件协议,不抓取被禁止的目录和文件。不过在此之前,需要先让蜘蛛程序跟踪到你的网站链接(友链、外链、主动提交等),并将你的URL放入地址库,然后等待被爬取。

一般搜索引擎蜘蛛的爬行策略分为两种:一种是深度优先,另一种是广度优先。

所谓深度优先,指的是蜘蛛沿着所发现的链接一直向前爬行,知道在没有可以发现的其他链接,然后返回第一个页面,沿着另一条链接再接着一直往前爬。

广度优先是指蜘蛛在一个页面上发现多个链接时,不是顺着一个链接一直向前,而是把当前页面上的所有链接都爬一遍,然后再沿着第二层页面上的链接爬向第三层页面。

在实际情况下,深度优先和广度优先是混合使用的,这样既可以照顾到尽量多的页面,也可以爬到一部分网站的内页,同时也会考虑到页面的权重和质量等,提高爬取效率、节省了带宽资源和时间,不过即使如此也是爬行和收录了互联网上的一小部分内容。

二、预处理

对于搜索引擎所抓取的原始页面,并不是直接用于排名,而是先要进行分析,毕竟搜索引擎数据库中的数据是非常庞大的,不可能靠排名程序对所有页面实时分析调用,这样计算量太大,并且会影响用户体验。

对于原始页面,首先会提取用于排名处理的文字内容,并对其进行中文分词,去掉停止词,包括“的”、“地”、“得”之类的助词,“啊”、“呀”之类的感叹词,“从而”、“却”之类的副词或介词等,还有消除噪音(广告、版权声明、导航条等),去重(相同文章在网站不同的地方或出现在不同的网站上),链接关系计算,页面质量判断,正向索引,倒排索引等,以供排名程序调用。

三、排名

用户输入一个搜索词后,需要先对搜索词做一些处理,才能进入排名过程。一般处理过程包括中文分词、去停止词、指令处理、拼写错误检查、搜索框提示、整合搜索触发等。在排名时,通过匹配预处理阶段的倒排索引数据就可以快速完成匹配,并进行相关性计算,排名过滤和调整(比如调整或去掉被搜索引擎惩罚的页面),之后进行排名显示。通常互联网上的用户所搜索的关键词有一大部分是重复的,此时就可以调用之前搜索过的缓存数据,缩短搜索反应时间和提高排名效率。

需要知道的是,搜索引擎在不断优化算法和数据库格式,不同搜索引擎的工作步骤也会有差异,但是大体上的原理都是这样。作为SEO人员也需要随时关注搜索引擎动态和算法更新情况,并对你的网站及时做出调整。

搜索引擎

部分文章来自摘录,仅作个人学习使用,如有侵权联系删除!

上一篇
没有更多了
查看目录

目录

来自 《浅谈搜索引擎工作原理》

评论区


1 条评论

  1. 2020年05月31日

    欢迎加入 Typecho 大家族



可能感兴趣