搜索引擎的工作原理
搜索引擎的工作原理如图1所示,主要包括蜘蛛爬行、抓取建库、网页处理、检索服务和结果展现5个方面的内容,下面分别进行介绍。
第一步:蜘蛛爬行
搜索引擎首先要解决的问题是如何有效地获取并利用互联网上的海量信息。为了达到这一目标,数据抓取系统成为搜索引擎不可或缺的组成部分之一。数据抓取系统主要负责搜集、保存和更新互联网上的信息。可以把搜索引擎比作蜘蛛,它们在互联网中爬行,因此其也被称为网络蜘蛛或搜索引擎蜘蛛。每个网络蜘蛛都有自己的名称,例如百度的BaiduSpider、搜狗的Sogou Web Spider、Google的Googlebot和Bing的Bingbot等。
在抓取网页时,搜索引擎会同时运行多个蜘蛛程序。它们从一些重要的种子网址开始,通过网页上的超链接不断发现和抓取新的网址,并不断重复这个过程,以尽可能多地抓取网页。由于互联网中的网页可能随时被修改、删除或出现新的超链接,所以像百度这样的大型搜索引
擎需要不断对过去抓取过的页面进行更新。
当蜘蛛爬行到某个网站时,首先会检查该网站根目录下是否存在Robots.txt文件。如果存在,则根据其中的约定来确定网页的抓取范围。进入网站后,蜘蛛会采用深度优先、宽度优先或最佳优先等策略来爬行至该网站中的所有网页。
1.深度优先策略
早期的网络蜘蛛通常采用深度优先策略进行爬行。深度优先策略的运行方式是,在抓取一个网页后,如果其中存在其他链接,蜘蛛会沿着其中一个链接继续爬行到下一个网页,然后在这个网页中寻找新的链接,并继续深入抓取。这一过程将一直进行下去,直到没有未爬行的链接可供选择,蜘蛛才会返回到最初的网页,然后通过另一个链接继续深入抓取。只有当所有链接都被遍历完毕,整个爬行过程才会结束,如图2所示。
深度优先的爬行顺序是:网站首页→A1→A2→·········→A的n个子栏目。网站首页→B1→B2→·········→B的n个子栏目。网站首页→C1→C2→·········→C的n个子栏目。网站首页→D1→D2→·········→D的n个子栏目。
2.宽度优先策略
宽度优先策略是网络蜘蛛来到一个网页后,先爬行该网页上所有的链接,然后爬行下一层网页链接的爬行策略。
宽度优先的爬行顺序是:网站首页→第一层链接的所有页面(A、B、C、·········)→第二层链接的所有页面(A1、A2·········B1、B2·········)→第二层链接的所有页面(A11、A12·········B21、B22·········)。
3.最佳优先策略
最佳优先策略是当网络蜘蛛到达一个网页时,将其中的所有链接收集到地址库中,并对其进行分析,从中筛选出重要性较高的链接进行爬行的爬行策略。影响链接重要性的因素主要有PR(PageRank,页面排序算法)值、网站规模和反应速度等。在该策略下,当一个链接的PR值越高、网站规模越大、反应速度越快时,它就越会被优先抓取。
知识链接→点击查看PR值百科知识
PR值是根据网站的外部链接和内部链接的数量和质量来衡量网站受欢迎程度的标准,其分为0~10级。PR值越高说明网站越受欢迎(越重要)。例如,PR值为1;表明网站不太受欢迎;而PR值在7~10,则表明网站非常受欢迎(极其重要)。一般而言,网站的PR值达到4,则表明网站较为受欢迎,
第二步:抓取建库
在经过一段较长的时间后,网络蜘蛛就可以爬行完互联网上的所有网页,但这些网页的资源极其庞大,并且其中还夹杂着大量的“垃圾网页”,再加上搜索引擎的资源有限,通常只会抓取其中的部分网页到数据库中。
当网络蜘蛛到达一个网页后,首先会对其内容进行检测,判断其中的信息是否为“垃圾信(如存在大量的重复内容、乱码或与已收录的内容高度重复等)。检测后,网络蜘蛛会对自”有价值的网页进行收录,并将网页的信息存储到原始页面数据库中。
第三步:网页处理
网络蜘蛛抓取到网页数据后,由于数据量过于庞大,网页不能直接用于索引服务,网络蜘蛛还要做大量的预处理工作,如结构化网页、分词、去停止词、降噪、去重、建立索引库、进行链接分析和数据整合等。
1.结构化网页
在网络蜘蛛抓取到的网页数据中,除了用户在浏览器上可以看到的可见文字外,还包含HTML标签、JavaScript程序、导航、友情链接、广告等无法用于排名计算的内容。结构化网页就是从网页数据中去除这些内容,保留可以用于排名的正文文本、<meta>标签内容、锚文本、图片视频的注释等内容。
如下面这段代码。
<div id="baike-title">
<h1>
<span class="title">佑元SEO</span>
</h1>
</div>
在经过结构化网页后,剩下的用于排名的文字为“佑元SEO”
2.分词
分词是中文搜索引擎所特有的,因为英文等语言的单词与单词之间是有空格分隔的,而中文的词与词之间是没有任何分隔符的,所以搜索引擎必须先将一句话分解成若干个词语。例如“佑元SEO”将被分为“佑元”“SEO”2个词。
分词的方法有很多,主要包括基于字典的分词法、基于词义的分词法和基于统计的分词法3种。目前,主要的搜索引擎通常会结合这3种方法,构成一套分词系统。
3.去停止词
无论是英文还是中文,页面内容中都会有一些出现频率很高,却对文章内容没有实际意义的停止词,如中文的“啊”“哈”“呀”“的”“地”“得”等,英文的“a”“an“the”“of”“to”等。因为停止词对页面内容的主要意思没什么影响,所以搜索引擎会去掉这些词,这样既可以使索引数据的主题更为突出,又可以减少很多无谓的计算。
4.降噪
在页面内容中,还有一部分与页面的主题没有什么关联的内容,如版权声明文字、导航条、广告等。这些与网页主题完全不相关的内容属于噪声,对页面主题只能起到分散作用。因此,搜索引擎需要识别并消除噪声。降噪的基本方法是根据HTML标签对页面进行分块,区分出页头、导航、正文、页脚、广告等区域,将无关区域的内容剔除,剩下的就是页面的主体内容。
5.去重
互联网中还存在大量的重复内容,”它主要是由网站之间的相互转载及使用网页模板产生的。在用户进行搜索时,如果搜索结果包含大量的相同内容,就会降低用户体验,所以搜索引擎需要在进行索引前对重复内容进行识别和处理,这个过程就称为“去重”
去重的基本方法是计算页面的特征关键词指纹,即从页面主体内容中选取出现频率最高的-部分关键词,然后计算这些关键词的数字指纹。如果页面的关键词指纹相同,相关页面就会被判定为内容重复,不予收录。
另外,简单地增加“的”“地“得”或调换段落顺序的伪原创方式,并不能逃过搜索引擎的去重算法,这是因为此类操作无法改变文章的特征关键词。
6.建立索引库
对网页中的内容进行分词、去停止词、降噪和去重处理后,就可以得到能反映页面主体内容的关键词的集合。搜索引擎会记录每一个关键词在页面中出现的频率、次数、格式(如标题、加粗、锚文本等)、位置等信息,并根据这些信息计算每个关键词的重要性,再按照重要性对关键词进行排序。搜索引擎会将页面及其对应的关键词构建为正排索引并存储进索引库。
通过正排索引可以快速找到一个页面中包含哪些关键词,但是,实际搜索时是通过关键词来寻找包含它的页面的。在正排索引中,就需要扫描每一个页面来判断它是否包含相应关键词,计算量较大,无法满足实时返回排名结果的要求。所以,搜索引擎还会将正排索引重新构建为倒排索引,把页面到关键词的映射转换为关键词到页面的映射
在倒排索引中,每个关键词都对应一系列页面。当用户搜索某个关键词时,只要在倒排索引中定位该关键词,就可以马上找出所有包含该关键词的页面。
7.进行链接分析
在互联网上购买商品,用户不仅要浏览卖家的商品介绍,还要查看买家对商品的评价。搜索引擎对页面进行排序时也有类似的情况,它除了需要考虑网页本身的关键词密度和位置外,还需要引入网页以外的标准来衡量网页。在网页以外的标准中,链接分析是相当重要的,搜索引擎会分析链接到网页的所有外部链接,外部链接的数量和质量都能反映该网页的质量及其与关键词的相关度。
由于互联网中网页的数量非常庞大,并且网页之间的链接关系又会时刻进行更新,因此链接分析会耗费很多时间。搜索引擎在进行倒排索引前就需要完成链接分析,这将会对索引的排序产生影响。
8.进行数据整合
除了HTML文件外,搜索引擎通常还能抓取和索引以文字为基础的多种文件类型,如PDF、XLS、PPT、TXT文件等。但对图片、视频、动画等非文字内容,搜索引擎还不能直接进行处理,只能通过其说明性文本进行处理。
不同的数据格式被分别存储,但是在建立索引及排序时,搜索引擎往往又会联系与数据相关的内容,以判断其相关性与重要性,然后形成最终的、有利于搜索排名的检索数据库。
第四步:检索服务
搜索引擎建好检索数据库后,就可以为用户提供检索服务了。当用户输入一个搜索关键词后,搜索引擎会先处理搜索关键词,将其进行过滤和拆分,然后从索引库中将与之匹配的页面提取出来,再通过不同的维度对页面的得分进行综合排序,最后通过收集用户搜索数据对结果进行优化,得到最终的搜索结果。
1.处理搜索关键词
处理搜索关键词与处理页面的关键词类似,搜索引擎对用户输入的搜索关键词也需要进行分词和降噪等处理,即将其拆分为关键词组,并剔除对搜索结果意义不大的词。如输入“电脑蓝屏了怎么办啊”,搜索引擎就会将其拆分为“电脑”“蓝屏”“怎么办”3个关键词,如图4所示。
2.提取页面
确定好关键词后,搜索引擎就会从检索数据库中提取包含该关键词的页面,但是这些页面并不会全部参与排名。因为搜索结果一般都会有几十万甚至上千万条,如果全部进行排名,搜索引擎的计算量会非常大,速度也会非常慢,并且用户通常也只会查看前面几页的结果。所以,搜索引擎通常只显示100页以内的搜索结果。按照默认每页10条搜索结果计算,搜索引擎一般只需要返回1000条结果就可以了
3.综合排序
搜索引擎会根据不同方面的得分对参与排名的页面进行综合排序,以得到最终的搜索结果。综合排序的标准主要包括以下几个方面。
- 相关性:页面内容与搜索关键词的匹配程度。搜索引警会基于页面中包含搜索关键词的个数、关键词在页面中的位置以及其他网页指向该页面所使用的锚文本等因素,评估页面与搜索关键词的匹配程度
- 权威性:权威性网站通常提供更真实、可靠的内容,因此在排名中具有较高的优势。搜索引擎会根据网站的信誉和声誉来判断其权威性,并使权威性较高的网站网页排名靠前。
- 时效性:搜索引擎会关注页面是否为最新发布的网页,以及页面内容是否为最及时的信息。随着时间的推移,时效性在搜索引警的排序中变得越来越重要。
- 丰富度:页面内容的多样性和全面性。如果页面内容丰富多样,不仅可以满足用户的单一需求,还能够满足用户更广泛的需求。
- 加权:搜索引擎还会对一些特殊的页面进行加权处理。例如,官方网站和特殊通道等页面可能会被提高排名。
- 降权:搜索引擎也会降低一些存在作弊嫌疑的网页的排名,以保证搜索结果的质量和可靠性。
4.检索优化
最后,搜索引擎还会根据IP地址、搜索时间、以往的搜索记录及浏览过的网页等信息对搜索结果进行优化。
一般而言,通过IP地址,可以获取用户所在的地区,根据各地区用户的搜索习惯,可以返回用户所在的特定地域的排名结果。通过搜索时间、以往的搜索记录及浏览过的网页等信息可以了解用户的兴趣爱好、关注的内容等,从而可以提供更加准确、个性化的搜索结果。
第五步:结果展现
目前,搜索引擎搜索结果的展现形式是多种多样的,如摘要式、图片式、视频式、软件下载式、步骤式和新闻资讯式等。
- 摘要式:最原始的展现方式,只显示一个标题、相关摘要、相关链接,如下图5所示。企业网站、资讯类网站的展现方式多为摘要式。
- 图片式:在摘要式的基础上显示一张图片,如下图6所示
- 视频式:用于显示包含视频的网页,在摘要式的基础上显示一张视频缩略图以及视频的时长等信息,如图7所示:
- 软件下载式:用于显示提供软件下载的页面,除了标题外,还会显示软件的图标、版本、大小、更新时间、运行环境等信息及用于下载的按钮,单击相应按钮可直接下载软件,如图8所示:
- 步骤式:主要用于显示操作步骤,会显示多张缩略图及步骤简略文本,如图9 所示。
- 新闻资讯式:会显示多条新闻的标题、发布网站及其发布时间,并会显示新闻的摘要信息,如图10所示。
原创文章,作者:佑元SEO,如若转载,请注明出处:https://www.ycsu.com/236.html