新闻资讯

15879069746

咨询热线

SEO搜索引擎工作原理(搜索引擎工作原理分为哪四步)

  搜索引擎优化的一个主要任务就是提高网站的搜索引擎友好性,因此,搜索引擎优化的每个环节都会与搜索引擎工作流程存在必然的联系,研究搜索引擎优化实际上就是对搜索引擎工作过程进行逆向推理。因此,学习搜索引擎优化应该从了解搜索引擎的工作原理开始。

  :就是指搜索引擎通过蜘蛛程序在互联网上抓取页面并进行存储的过程,为搜索引擎开展各项工作提供了数据支持。

  :主要是指对抓取回来的网页进行信息提取处理,包括提取页面的正文信息,并对正文信息进行分词等,为后续建立关键字索引及关键字倒排索引提供基础数据。

  :搜索引擎结合页面的内外部因素计算出页面与某个关键字的相关程度,从而得到与该关键字相关的页面排序列表。

  :搜索引擎接收来自用户的查询请求,并对查询信息进行切词及匹配,再向用户返回相应的页面排序列表。

  本章接下来将向读者介绍搜索引擎各个主要工作的流程、原理及作用,以及在对网站进行优化时应该如何应对。

  搜索引擎对网页的抓取实际上就是在互联网上进行数据采集 1 ,这是搜索引擎最基础的工作。搜索引擎的数据采集能力直接决定了搜索引擎可提供的信息量及对互联网覆盖的范围,从而影响搜索引擎查询结果的质量。因此,搜索引擎总是想方设法地提高它的数据采集能力。

  1 搜索引擎利用数据采集程序在互联网上抓取数据,我们称这个数据采集程序为蜘蛛程序或者机器人程序。

  本节首先会介绍搜索引擎抓取页面的流程及方式,再介绍搜索引擎对已抓取页面的存储及维护方式。

  在互联网中,URL 是每个页面的入口地址,搜索引擎蜘蛛程序就是通过 URL 抓取到页面的。搜索引擎蜘蛛程序从原始 URL 列表出发,通过 URL 抓取并存储原始页面;同时,提取原始页面中的 URL 资源并加入到 URL 列表中。如此不断地循环,就可以从互联网中获取到足够多的页面,如图 2-1 所示。

  图 2-1 搜索引擎抓取页面简单流程URL 是页面的入口,而域名则是一个网站的入口。搜索引擎蜘蛛程序通过域名进入网站,从而展开对网站页面的抓取。换言之,搜索引擎要在互联网上抓取到页面的首要任务就是建立一个足够大的原始域名列表,再通过域名进入相应的网站,从而抓取这个网站中的页面。而对于网站来说,如果想要被搜索引擎收录,首要的条件就是加入搜索引擎的域名列表。下面向大家介绍两种常用的加入搜索引擎域名列表的方法。第一,利用搜索引擎提供的网站登录入口,向搜索引擎提交网站的域名。例如,Google 的网站登录地址是。对于提交的域名列表,搜索引擎只会定期进行更新。因此,这种做法比较被动,从域名提交到网站被收录花费的时间也比较长。以下是主流中文搜索引擎的网站提交入口。2 在实际中,我们只需要提交网站的首页地址或者网站的域名,搜索引擎就会跟踪首页中的链接去抓取其他页面。百度:。360:。搜狗:。Google:(需要注册使开通站长工具才能提交)。第二,通过与外部网站建立链接关系,使搜索引擎可以通过外部网站发现我们的网站,从而实现对网站的收录。这种做法主动权掌握在我们自己的手里(只要我们拥有足够多高质量的链接即可),而且收录速度也比向搜索引擎主动提交要快得多。视乎外部链接的数量、质量及相关性,一般情况下,2~7 天左右就会被搜索引擎收录。2.页面抓取通过上面的介绍,相信读者已经掌握了加快网站被搜索引擎收录的方法。然而,怎样才能提高网站中页面被收录的数量呢?这就要从了解搜索引擎收录页面的工作原理开始。如果把网站页面组成的集合看作是一个有向图,从指定的页面出发,沿着页面中的链接,按照某种特定的策略对网站中的页面进行遍历。不停地从 URL 列表中移出已经访问过的 URL,并存储原始页面,同时提取原始页面中的 URL 信息;再将 URL 分为域名及内部 URL 两大类,同时判断 URL 是否被访问过,将未被访问过的 URL 加入 URL 列表中。递归地扫描 URL 列表,直至耗尽所有 URL 资源为止。经过这些工作,搜索引擎就可以建立庞大的域名列表、页面 URL 列表及存储足够多的原始页面。3.页面抓取方式通过以上内容,大家已经了解了搜索引擎抓取页面的流程及原理。然而,在互联网数以亿计的页面中,搜索引擎怎样才能从中抓取到更多相对重要的页面呢?这就涉及搜索引擎的页面抓取方式问题。页面抓取方式是指搜索引擎抓取页面时所使用的策略,目的是为了能在互联网中筛选出更多相对重要的信息。页面抓取方式的制定取决于搜索引擎对网站结构的理解。如果使用相同的抓取策略,搜索引擎在同样的时间内可以在某一网站中抓取到更多的页面资源,则会在该网站上停留更长的时间,抓取的页面数自然也就更多。因此,加深对搜索引擎页面抓取方式的认识,有利于为网站建立友好的结构,增加页面被抓取的数量。常见的搜索引擎抓取页面的方式主要有广度优先、深度优先、大站优先、高权重优先、暗网抓取及用户提交等,接下来将详细介绍这几种页面抓取方式及其优缺点。广度优先如果把整个网站看作是一棵树,首页就是根,每个页面就是叶子。广度优先是一种横向的页面抓取方式,先从树的较浅层开始抓取页面,直至抓取完同一层次上的所有页面后才进入下一层。因此,在对网站进行优化的时候,我们应该把网站中相对重要的信息展示在层次较浅的页面上(例如,在首页上推荐一些热门产品或者内容)。因此,通过广度优先的抓取方式,搜索引擎就可以优先抓取到网站中相对重要的页面。我们来看一下广度优先的抓取流程。首先,搜索引擎从网站的首页出发,抓取首页上所有链接指向的页面,形成页面集合(A),并解析出集合(A)中所有页面的链接;再跟踪这些链接抓取下一层的页面,形成页面集合(B)。就这样递归地从浅层页面中解析出链接,从而抓取深层页面,直至满足了某个设定的条件后才停止抓取进程,如图 2-2 所示。

  图 2-2 广度优先抓取流程深度优先与广度优先的抓取方式恰恰相反,深度优先是一种纵向的页面抓取方式,首先跟踪的是浅层页面中的某一个链接,从而逐步抓取深层次页面,直至抓取完最深层次的页面后才返回浅层页面继续向深层页面抓取。使用深度优先的抓取方式,搜索引擎可以抓取到网站中比较隐蔽、冷门的页面,这样才能满足更多用户的需求。我们来看一下深度优先的抓取流程。首先,搜索引擎会抓取网站的首页,并提取首页中的链接;再沿着其中的一个链接抓取到页面 1-1,同时提取其中的链接;接着,沿着页面 1-1 中的一个链接 A-1 抓取到页面 2-1,同时提取其中的链接;再沿着页面 2-1 中的一个链接 B-1 继续抓取更深一层的页面。这样递归地执行,直至抓取到网站最深层的页面或者满足了某个设定的条件才转回到首页继续抓取,如图 2-3 所示。

  图 2-3 深度优先抓取流程大站优先由于大型网站比小型网站更有可能提供更多更有价值的内容,因此,如果搜索引擎优先抓取大型网站中的网页,那么就可以在更短的时间内为用户提供更有价值的信息。大站优先,顾名思义就是对互联网中大型网站的页面进行优先抓取,是搜索引擎中的一种信息抓取策略。怎样识别所谓的大型网站呢?一是前期人工整理大站种子资源,通过大站发现其他的大站;二是对已经索引的网站进行系统的分析,从而识别那些内容丰富、规模较大、信息更新频繁的网站。在完成大站识别后,搜索引擎就会对 URL 资源列表中大站的页面进行优先抓取。这也是为什么大型网站往往会比小站内容抓取更及时的原因之一。高权重优先权重,简单地说就是搜索引擎对网页重要性的一种评定。所谓的重要性归根到底就是网站或者网页的信息价值。高权重优先是对 URL 资源列表中的高权重网页进行优先抓取的网页抓取策略。网页权重(如 Google PageRank 值)高低往往是由诸多因素决定的,例如,网页的外部链接数量及质量。如果下载一个 URL 就重新计算所有已下载 URL 资源的权重值,这样的效率是极其低下的,显然是不现实的。所以,搜索引擎会倾向于每下载若干 URL 资源后就对已下载的 URL 进行权重计算(即不完全的权重计算),以此来确定这些 URL 资源所对应页面的权重值,从而对较高权重值的网页进行优先抓取。由于权重计算是基于部分数据而得出的结果,可能会与真实权重有较大出入(即失真)。因此,这种高权重优先的抓取策略也有可能会对次要页面进行优先抓取。暗网抓取暗网(又称作深网、不可见网、隐藏网)是指那些存储在网络数据库里、不能通过超链接访问而需要通过动态网页技术或者人工发起查询访问的资源集合,不属于那些可以被标准搜索引擎索引的信息。1.查询组合暗网数据普遍存在于大型网站中,最常见的表现形式就是网站的搜索功能(包括组合条件查询及文本检索)。例如,旅游网站的机票数据,由于数据量极其巨大,通过链接的方式显示所有的机票信息是不现实的。因此,该类网站通常会提供相应的搜索功能供用户使用,以便用户能够快速检索个人化的需求信息。图 2-4 是某旅游垂直网站的机票搜索功能,用户可以通过航程类型、出发城市、到达城市、出发时间及返回时间等多条件组合来检索机票信息。

  图 2-4 机票搜索工具在互联网上,暗网数据量是极其巨大的,但不是所有的暗网数据都是有价值的,这就要求搜索引擎需要有特殊的蜘蛛程序对这些暗网数据进行挖掘及识别。例如,图 2-5 所示是某人才网的高级搜索功能,至少包含了 8 个查询条件,如果搜索引擎将每一个条件组成不同的查询组合提交给网站,这样不但会给网站的服务器带来极大的压力,而且对于蜘蛛程序来说也是一个灾难(暂且不论每种条件组合的查询条件得到的查询结果能得到有价值的信息)。

  图 2-5 职位搜索工具 1因此,搜索引擎通常只会对有可能返回有价值信息的查询条件进行组合。如图 2-6 所示,对于一些主要的条件如行业分类、职位分类、工作地点进行组合查询即可找到该站的有价值信息。

  图 2-6 职位搜索工具 22.文本检索对于大多数网站而言,文本检索(即站内搜索)是最常见的搜索功能。因此,文本检索也是最常见的暗网数据获取方式之一。图 2-7 所示为当当网的站内搜索功能,搜索引擎通过人工整理一些种子关键字,向目标网站提交进行查询,除了抓取查询结果页面外,还会从已抓取回来的页面中提取出新的关键字,进而形成新的待查询关键字列表。

  图 2-7 当当网搜索栏用户提交为了抓取更多的网页,搜索引擎还允许网站管理员主动提交页面(如 Sitemap 方式提交)。网站管理员只需把网站中页面的 URL 按照指定的格式制作成文件,提交给搜索引擎,搜索引擎就可以通过该文件对网站中的页面进行抓取及更新。这种由网站管理员主动提交页面的方式大大提高了搜索引擎抓取页面的效率,也大大增加了网站页面被抓取的数量(目前主流的搜索引擎都支持这种页面抓取方式,如 Google、百度及搜狗等)。说明为了提高抓取页面的效率及质量,搜索引擎会结合多种策略去抓取页面。例如,先使用广度优先的方式,把抓取范围铺得尽可能宽,获取尽可能多的重要页面;再使用深度优先的方式,抓取更多隐蔽的页面;最后,结合暗网抓取、用户提交等方式抓取那些被遗漏的页面。4.如何避免重复性抓取在互联网中,信息重复是在所难免的。然而,搜索引擎是怎样识别重复信息的呢?怎样判断哪些网页的信息是原创的,哪些是复制的?又会认为哪些重复的信息是有价值的,哪些是可以舍弃的?本节将会给出这些问题的答案。网站中的重复信息主要包括转载内容及镜像内容两大类。搜索引擎在对页面进行分析的时候,必须具备识别重复信息的能力。因为大量的重复信息不但占用巨大的服务器硬盘空间,而且还会增加用户寻找信息的时间,降低用户体验。但这并不意味着所有重复信息都是没价值的,搜索引擎认为转载内容不如原创内容重要,赋予原创内容页面更高的权重,而镜像内容则几乎忽略。转载页面转载页面是指那些与原创页面正文内容 3 相同或相近的页面。然而,搜索引擎如何识别转载页面呢?首先,它把网页正文内容分成N个区域并进行比较,如果其中有M个区域(M是搜索引擎指定的一个阈值)是相同或者相似的,则认为这些页面互为转载页面。如图 2-8 所示,页面 1 与页面 2 是不同网站上的两个页面。其中,框中的 A、B 分别是两个不同页面上的正文内容。为了识别这两个页面是否互为转载页面,搜索引擎先把这两个页面的正文内容分成 4 个区域进行比较。假设这 4 个区域中有 3 个是完全相同或者相似的,那么就认为这两个页面是互为转载的。

  图 2-8 页面正文内容对比在确定页面的互为转载关系后,接下来,搜索引擎再结合页面的最后修改时间(搜索引擎在抓取页面时已经存储的附加信息,详见后面“页面存储”的内容)、页面权重等因素判断原创页面与转载页面。镜像页面内容完全相同的页面互为镜像页面。要判断页面是否互为镜像页面,搜索引擎首先把这些页面分成N个区域进行比较,如果这N个区域的内容完全一样,则认为这些页面互为镜像页面。然后,再综合多项因素(例如页面权重值、页面最后修改时间等)来识别哪个是源页面,哪个是镜像页面。如图 2-9 所示,页面 1 及页面 2 是不同网站上的两个页面。把这两个页面分成三个区域(即 A-1、A-2、A-3 与 B-1、B-2、B-3)进行比较,如果这三个区域内容完全一样,则认为这两个网页互为镜像页面。

  图 2-9 页面对比镜像网站狭义上的镜像网站是指内容完全相同的网站,形成镜像网站主要有两种情况:第一种是多个域名或 IP 指向同一服务器的同一个物理目录;另外一种是整个网站内容被复制到使用不同域名或者不同 IP 的服务器上。为了识别站点间是否互为镜像网站,搜索引擎首先判断这些网站的首页以及与首页直接链接的页面是否互为镜像页面。如果是,则互为镜像网站。然后,再综合多项因素(例如网站权重值、建立时间等)来识别哪个是源网站,哪个是镜像网站。这样,以后抓取页面的时候就集中在源网站中进行,这也是为什么搜索引擎对于镜像网站只抓取极少页面甚至是不抓取的原因。3 搜索引擎通过算法消除页面中的辅助信息(如导航栏、图片等)后,就得到页面的正文内容。5.网页更新策略由于搜索引擎不可能一次性抓取到网站中所有的页面,而且网站中页面的数量也会不断地变化,内容也在不断地更新,因此,搜索引擎还需要对已经抓取的页面进行维护、更新,以便能及时获取页面中最新的信息,抓取更多的新页面。常见页面维护方式包括:定期抓取、增量抓取、分类定位抓取、历史更新策略及用户体验策略。定期抓取定期抓取也称为周期性抓取,即搜索引擎周期性地对网站中已经抓取的页面进行全面更新。更新的时候,把抓取到的新页面替换原有的旧页面,删除不存在的页面,并存储新发现的页面。周期性更新针对的是全部已抓取的页面,因此更新周期会比较长。例如,Google 一般是 30~60 天才会对已抓取的页面进行更新。定期抓取算法的实现相对简单。由于每次更新涉及到网站中所有已经抓取的页面,因此页面权重的再分配也是同步进行的。这适用于维护页面比较少、内容更新缓慢的网站,例如普通的企业网站。但是,由于更新周期十分漫长,就不能及时向用户反映更新期间页面的变化情况。例如,某个页面的内容更新以后,至少需要 30~60 天才能在搜索引擎上有所体现。增量抓取增量抓取是通过对已抓取的页面进行定时监控,实现对页面的更新及维护。但是,对网站中的每个页面都进行定时监控是不现实的。基于重要页面携带重要内容的思想以及 80/20 法则 4 ,搜索引擎只需对网站中部分重要页面进行定时的监控,即可获取网站中相对重要的信息。因此,增量抓取只针对网站中某些重要的页面,而非所有已经抓取的页面,这也是为什么搜索引擎对重要页面的更新周期会更短的原因。例如,内容经常更新的页面,搜索引擎也会经常对其进行更新,从而可以及时发现新内容、新链接,并删除不存在的信息。由于增量抓取是在原有页面的基础上进行的,因此会大大缩减搜索引擎的抓取时间,还可以及时向用户展示页面中最新的内容。分类定位抓取与增量抓取由页面重要性决定不同,分类定位抓取是指根据页面的类别或性质而制定相应更新周期的页面监控方式。例如,新闻资讯类页面的更新周期可以精确到每分钟,而下载类页面的更新周期就可以定为一天或更长。分类定位抓取对不同类别的页面进行分开处理,这样就可以节省大量的抓取时间,并大大提高页面内容的实时性,增强页面抓取的灵活性。但是,按照类别制定页面更新周期的方式比较笼统,很难跟踪页面的更新情况。因为即使是相同类别的页面,在不同的网站上内容的更新周期也会存在很大的差别。例如新闻类页面,在大型门户网站中内容的更新速度就会比其他小型网站快得多。所以,还需要结合其他的方式(例如增量抓取等)对页面进行监控和更新。实际上,搜索引擎对网站中页面的维护也是结合多种方式进行的,相当于间接为每一个页面选择最合适的维护方式。这样,既可以减少搜索引擎的负担,又可以为用户提供及时的信息。例如,一个网站中会存在多种不同性质的页面,常见的包括:首页、论坛页面、内容页面等。对于更新比较频繁的页面(例如首页),可以使用增量抓取方式对其进行监控,这样就可以对网站中相对重要的页面进行及时更新;而对于实时性非常高的论坛页面,则可以采用分类定位的抓取方式;为了防止遗漏网站中的某些页面,还需要采用定期抓取的方式。历史更新频率策略历史更新频率策略基于这样一种思想:某个网页在过去某段时间内频繁更新,那么在将来的某个时间里也可能会频繁更新。例如,对于某网站的首页,通过对它进行的监控可以分析出它的内容更新规律,搜索引擎就可以据此调整对它的抓取频率及时间点,从而及时获得网页中的最新内容。用户体验策略所谓的用户体验策略是指为了提高搜索引擎用户体验而制定的针对性的网页更新策略。衡量搜索引擎用户体验有众多指标,而网页更新的及时性是其中一项重要因素。对于搜索引擎中的关键字搜索结果,用户通常只会点击排名前 30 的网页。因此,只要及时更新排名前 30 的网页,即可节省搜索引擎的资源,提高重要网页的更新频率,也可满足绝大部分用户获取信息的需求。4 80/20 法则是意大利著名经济学家维尔弗雷德·帕累托发现的,其核心思想是 20%的活动能产生满足 80%需求的物质。例如,20%的产品或者服务创造了 80%的利润,20%的内容满足 80%用户的需求。6.页面存储通过以上内容,我们已经知道了搜索引擎对页面的抓取及维护方式,接着,我们还要了解一下搜索引擎在抓取页面后,需要存储哪些信息才能满足接下来的工作对数据的需求。页面是搜索引擎对网站进行信息处理的基础,搜索引擎大部分工作都是在页面上开展的。但是,仅仅依靠页面中的内容并不能满足搜索引擎对数据处理的需求。搜索引擎能否在抓取页面的过程中获取到更多、更有价值的信息会直接影响搜索引擎的工作效率及排序结果的质量。所以,搜索引擎在抓取页面时,除了存储原始页面外,还会附加一系列的信息(例如,文件类型、文件大小、最后修改时间、URL、IP 地址、抓取时间等),再把这些信息作为开展某项工作的依据。例如,如果某个文件过大,就可能会被搜索引擎放弃索引;而最后修改时间则暗示了页面更新的日期等。

  页面抓取只是搜索引擎工作的一个基础环节,页面抓取回来后并不代表搜索引擎马上就可以向终端用户提供查询服务。因为用户在使用搜索引擎进行查询的时候,使用的是一个词或者短语,而到目前为止,搜索引擎仅能提供整个原始页面,不能返回与用户查询条件相匹配的信息。因此,搜索引擎还需要对原始页面进行一系列的分析和处理,以迎合用户信息查询的习惯。

  如图 2-10 所示,搜索引擎首先对存储的原始页面建立索引,再过滤原始网页的标签信息,从中提取出网页中的正文信息;然后,对正文信息进行切词,并建立关键字索引,得到页面与关键字间的对应关系;最后,对所有关键字进行重组,从而建立关键字与页面之间的对应关系。

  图 2-10 网页分析、处理流程1.网页索引为了提高页面检索的效率,搜索引擎需要对抓取回来的原始页面建立索引,由于 URL 就是页面的入口地址,为原始页面建立索引实际上就是为页面的 URL 建立索引,这样就可以实现根据 URL 快速定位到对应的页面。2.网页分析网页分析是整个网页处理中最重要的环节,包括网页正文信息的提取(即标签信息过滤)、切词、建立关键字索引列表及关键字重组这几个重要的步骤。结果形成了一个关键字对应多个原始页面的关系,即形成了与用户查询习惯相符合的信息雏形。正文信息提取网页正文信息的提取实际上就是对网页中非正文信息的过滤。其中,最为重要的就是对网页中标签信息(例如,HTML 标签、 JavaScript 标签、PHP 标签)的过滤。经过标签过滤以后,搜索引擎就可以得到网页的正文信息。切词/分词经过对原始页面提取正文信息后,搜索引擎就可以得到页面的实质内容。而为了得到与用户查询相关的数据,搜索引擎还需要对页面中的内容进行切分(也就是我们常说的切词或者分词),从而形成与用户查询条件相匹配的以关键字为单位的信息列表。每个搜索引擎的切词系统都会存在或多或少的差别,切词系统的优劣主要取决于开发者对语言的理解能力。特别是在中文语言环境里,切词算法直接影响网页内容经过切词处理后会产生什么样的关键字,这些关键字是否与用户的搜索习惯一致。因而,切词的结果直接决定搜索引擎能否提供与用户查询条件相匹配的信息。在中文环境里,常见的分词方法包括字符串匹配分词及统计分词两种,下面简单介绍一下这两种中文分词算法。字符串匹配分词是基于一个足够大、足够权威的“词典”上进行的。如果页面上的词与“词典”中的词匹配,则为命中。这样就可以得到一个词或者短语。统计分词是根据相邻的两个(或者多个)字出现的概率判断这两个(或者多个)字组合后是否会形成一个词。统计分词也常常会结合“词典”进行匹配,常用于识别一些新词汇。例如,“微博”等一些在传统中文语言中不存在的词汇。关键字索引网页正文信息在经过切词系统处理后,形成了关键字列表。关键字列表中的每条记录都包括了该关键字所在的关键字编号、网页编号、关键字出现次数以及关键字在文档中的位置等信息,如表 2-1 所示。

  表 2-1 关键字列表例如,记录 1 中的关键字 K1 在页面中出现了 3 次,对应页面中的 A1、A5、A7 区域,如图 2-11 所示。

  图 2-11 关键字 K1 在页面中的分布示意图为了提高对关键字的检索效率,搜索引擎还会为关键字列表建立索引。这样,经过对网页及关键字列表都建立索引后,就可以实现从一个网页快速定位到某一关键字。例如,网页 0 经过信息过滤后得到的内容是“中国广东省深圳市”;然后,对内容进行切词后产生关键字“中国”“广东省”“深圳市”,并对关键字建立索引。这样,根据网页 0,搜索引擎就可以快速定位到关键字“中国”“广东省”或“深圳市”上,如图 2-12 所示。

  图 2-12 页面与关键字间的对应关系然而,用户是通过关键字去寻找那些承载相应信息的页面的,所以,搜索引擎还需要对已有信息进行相应的处理,建立关键字与页面 URL 间的对应关系表,从而实现根据关键字快速定位到多个页面的功能,这就是下面所说的关键字重组问题。关键字重组为了迎合用户寻找信息的习惯,即以关键字为条件寻找与关键字相关的页面。因此,搜索引擎需要建立以关键字为主索引的一个关键字对应多个页面的关系表,即关键字反向索引表。而建立关键字反向索引表最重要的任务就是对所有页面中的关键字列表进行重组。之前对关键字建立索引后,已经产生了网页与关键字的一对多的对应关系。接下来,搜索引擎把所有页面中的关键字进行重组 5 ,并建立关键字索引,从而形成一个不重复的关键字列表集合,即在关键字列表中,每个关键字都是唯一的。这样,通过某一个特定的关键字就可以找到一个或者多个网页,从而实现根据关键字返回相应页面的功能,如图 2-13 所示。

  图 2-13 关键字与页面间的对应关系5 关键字重组即把所有页面中的关键字组成一个集合。经过对原始页面进行分析、处理后,搜索引擎已经可以根据用户的查询条件返回相应的页面列表。但是,简单地向用户返回这个页面列表,往往不能满足用户的需要,所以,搜索引擎还会根据页面与用户查询条件相关性的高低再对这个列表进行重新排列,然后把处理后的列表返回给用户。这就是下面将要向大家介绍的搜索引擎对页面排序的问题。

  用户向搜索引擎提交关键字查询信息以后,搜索引擎就在搜索结果页面返回与该关键字相关的页面列表,这些页面按照与关键字的接近程度由上至下进行排列。决定页面排列次序的因素非常多,本书将介绍几种最常见也是最重要的因素,包括页面相关性、链接权重及用户行为。

  是指页面内容与用户所查询的关键字在意义上的接近程度,主要由关键字匹配度、关键字密度、关键字分布及关键字的权重标签等决定。

  是指页面 P 中的内容与用户所查询的关键字 K 之间的匹配程度,主要由以下两个因素决定。

  页面 P 中是否存在与查询条件关键字 K 相匹配的内容,即页面内容中是否包含关键字 K。

  关键字 K 在页面 P 中出现了多少次,即页面 P 中有多少个关键字 K。

  为了计算关键字匹配度,搜索引擎为每个页面分配一个关键字匹配值,该值由关键字在页面中出现的次数决定。假设某个关键字在页面中出现一次,关键字匹配值为 10,那么,若该关键字在页面中出现 10 次,则关键字匹配值 =10*10。

  如果这种假设成立,则某关键字在页面中出现的次数越多(即词频越高),页面的相关性就越高,这样搜索结果就极容易被网站所有者操控。例如,一个网站想要提高页面的相关性,只需在页面中添加足够多的关键字即可。

  因此,关键字词频决定页面相关性的做法是极不合理的,还需要结合关键字密度、关键字分布及关键字的权重标签等多方面来制约。

  假设页面中某关键字的密度为 50%时,这个页面的关键字密度值为 20。例如,在内容是 camcorder battery 的页面中, camcorder 的关键字密度是 50%,则针对关键字 camcorder ,这个页面的关键字密度值为 20。

  ,即关键字在页面中出现的位置。关键字在页面中不同的位置上出现会对页面的相关性带来一定的影响。搜索引擎通过记录关键字在页面中出现的位置来计算页面的关键字分布值,从而得到关键字分布与页面相关性之间的关系。

  假设关键字在页面的顶部出现时,关键字分布值为 50;而在底部出现时,关键字分布值为 10;则关键字 K1 同时出现在页面 A 的顶部与底部时,该页面的关键字分布值就是 60。

  在网页中,网页制作者利用不同的 HTML 标签使页面中相关的内容实现不同的视觉效果(例如字体的样式、字号、颜色等),灵活地运用各种 HTML 标签还有助于提高页面相关性。

  我们在阅读文章的时候,经常会遇到文章中某些内容的表现形式与周围的内容是存在明显区别的,例如,某些内容的字体颜色与周围的内容会形成强烈的反差,或者字号大小不一致等。

  这就说明了文章的作者是刻意要突出这部分内容,这部分内容比较重要。同样,在对网站进行优化的时候,我们也可以使用同样的方法来突出页面中重要的内容,例如,利用不同的 HTML 标签去标注页面中需要突出的内容。这样,搜索引擎在分析页面的时候就会根据 HTML 标签识别页面中内容的样式,从而判断页面中哪些内容更加重要。

  在页面权重分配里,按照标签的作用,可以把 HTML 标签分为权重标签与非权重标签两大类。权重标签是指会影响页面权重的标签,常见的权重标签包括 b、h1 等;而非权重标签常见的有 img、br 等。

  假设表 2-2 中是搜索引擎对某些标签权重值的定义,则对于一个内容是 h1b 搜索引擎优化 /b/h1 的页面,针对“搜索引擎优化”这个关键字,标签权重值等于 b 标签权重值加上 h1 标签权重值,即 60。

  表 2-2 样式标签与权重值的对应关系通过对关键字匹配度、关键字密度、关键字分布及权重标签进行说明后,我们推算出页面相关性的计算公式如下:W(relevance)=W(match) +W(density) +W(position) +W(tag)式中,W(relevance) 是页面相关性,W(match) 是关键字匹配值,W(density) 是关键字密度值,W(position) 是关键字分布值,W(tag) 是标签权重值。例如,某页面的内容如下:htmlbodyb 搜索引擎优化 /bh1 搜索引擎 /h1……/body/html,则针对“搜索引擎优化”这个关键字来说,由于只出现一次,则关键字匹配值W(match)= 10;关键字密度是 50%,则关键字密度值W(density)= 20;关键字出现在页面的顶部,则关键字分布值W(position)= 50;而权重标签 b 在突出关键字“搜索引擎优化”时出现了一次,则标签权重值W(tag)=10,即W(relevance)= 10+20+50+10。搜索引擎利用关键字匹配度、关键字密度、关键字分布及权重标签这四大要素相互制约的作用,完善页面相关性的计算。但是,本节所介绍的都是一些网站内部可操控因素。为了提高排序中信息的质量,搜索引擎还引入了一些外部不可操控的因素对页面相关性进行综合评估,例如外部链接与用户行为等。2.链接权重链接主要分内部链接及外部链接两种,是网页制作或者编缉者在对页面内容进行规划或者编缉时加入到页面中的,加入的理由可能是该链接所指向的页面非常重要或者是大部分用户所需要的。因此,某一页面得到的链接越多,从一定程度上反映了该页面越重要,链接权重值就越高。如果把整个互联网看作是一个有向图,超链接为有向边,网页为节点,那么,绝大部分网页都会有一个“入度”与“出度”,根据网页的入度数量及提供入度的页面权重值来计算页面链接的权重是一个非常好的想法。假设图 2-14 是页面之间的关系图,其中 V1、V2、V3 为网页;而箭头方向则代表页面贡献链接或从其他页面中得到的链接。以网页 V2 为例,V2 对 V1、V3 各贡献了一个链接,而得到了 V1 的链接。

  图 2-14 页面关系图内部链接内部链接是指网站内部页面之间的链接关系,体现了网站内部对某个页面的认可程度。理论上,页面获得的链接质量越高、数量越多,其重要性也相对越大。外部链接外部链接指本站以外的页面之间的链接关系。由于外部链接的不可操控性,外部链接在整个链接关系中占着更大的权重比例,是决定整个页面权重最重要的因素。默认权重分配网站页面数量是在不断变化的,但由于时间的关系,新增加的页面即使内容质量很高,得到的链接数量也是有限的,因此链接权重值通常会很低。在这种情况下,搜索引擎就需要对这些新页面的链接权重值按照相应的方案进行补偿,使得新页面能够得到更合理的链接权重值。在链接权重值补偿方面,搜索引擎把页面被抓取的日期作为一个参考因素。它认为页面在单位时间内获得链接的数量越多、质量越高,则该页面的质量也相对更高。例如,页面 A 得到 30 个链接,页面 B 也得到 30 个链接(假设这些链接的质量是相等)。但是,页面 A 花了 100 天时间,而页面 B 只花了 1 天时间。这从一定程度上反映页面 B 比页面 A 更重要。因此,就需要给页面 B 进行一定的补偿,使得页面 B 所得链接权重值高于页面 A。3.用户行为搜索引擎在完成页面基本权重计算以后,就可以向用户展示初步的排序结果。但这个排序结果不一定能让大部分用户满意,因此还要结合其他因素对该排序结果进行改进。例如,统计每条搜索结果的点击次数来推测用户对搜索结果的偏好。用户对搜索结果的点击行为是衡量页面相关性的因素之一,是完善排序结果、提高排序结果质量的重要补充,属于外部不可操控因素(详细请参考 2.3.4 节)。综上所述,搜索引擎通过计算页面在页面相关性、链接权重值及用户行为等方面的得分,得到页面的总权重值;然后,再按照页面的总权重值从高到低进行排序并把这个经过排序的列表返回给用户。即W(page)=W(relevance) +W(link)+W(user)式中,W(page)是页面权重值,W(relevance) 是页面相关性值,W(link) 是链接权重值,W(user) 是用户行为得分。

  在计算完所有页面的权重后,搜索引擎就可以向用户提供信息查询服务。搜索引擎查询功能的实现非常复杂,用户对返回结果的时间要求也非常高(通常是秒级),要在这么短的时间内完成这么复杂的计算是不现实的。所以,搜索引擎需要通过一套高效的机制处理来自用户的查询。这主要应该包括:

  在用户发出查询请求前就完成被查询关键字的反向索引、相关页面权重计算等工作。

  其中,关键字重组、页面权重分配等工作已经在前面进行了详细的说明。接下来,就介绍搜索引擎如何建立信息查询的缓存机制。

  图 2-15 查询处理流程1. 先对用户提供的查询条件进行切词,并删除查询条件中没有意义的字或词,例如,“的”“得”等停用词。2. 再以切词结果作为条件在关键字反向索引列表中进行匹配。3. 如果存在匹配结果,则把所有与关键字相匹配的页面的 URL 组成一个列表。4. 最后,把匹配的页面按照权重值从高到低进行排序,并返回给用户。其中,3、4 两个步骤在用户查询之前已经完成。例如,用户查询“手机图片”,搜索引擎对其进行切词后得到的查询条件是“手机 + 图片”;再把“手机 + 图片”在关键字反向索引列表中进行匹配;结果得到了 A、B、C 这三个相关页面;再计算三个页面的权重值,如果这三个页面的权重值关系是 BCA,则这三个页面在搜索结果列表中的排列顺序就是 B、C、A。2.用户行为用户在搜索引擎中的行为主要包括搜索及点击,搜索是用户获取信息的过程,点击是用户得到需要信息后的表现。用户的搜索及点击行为中蕴含着非常丰富、重要的信息。例如,在用户搜索行为中包含了提交的关键字、提交时间、用户 IP 地址等信息,而在点击行为中则包含了每个结果的点击次数等信息。搜索引擎通过对用户行为的分析可以进一步发掘用户的需求,提高搜索结果的精准度。例如,从用户的搜索行为中,搜索引擎还可以发现新词汇;而从用户对搜索结果的点击行为中,可以分析出用户对每个搜索结果的偏好等。搜索搜索是用户获取信息的途径,是搜索引擎最基本的功能。搜索引擎可以在用户的搜索行为中得知某一关键字被搜索的次数,通过对关键字被搜索的次数的分析,可以发现新词汇,进一步了解用户搜索习惯。由于语言是不断发展的,随着时间的推移会产生更多的新词汇。特别是在互联网环境中,某个热点的事件也有可能成为一个新的词语,例如“艳照门”等。对搜索引擎而言,新生词汇主要是指那些目前搜索引擎词典系统里不存在、但是又被频繁搜索的关键字。如果某一关键字在搜索引擎词典系统里不存在,则切词时就不会产生该关键字,这样用户在查询该关键字时就返回不了相关的信息,也就不能满足用户的需求。因此,搜索引擎对新词汇的学习能力从一定程度上反映了搜索引擎对语言的理解能力,是衡量搜索引擎好坏的重要指标之一。结合用户搜索习惯与页面内容去发掘新关键字是搜索引擎学习新词汇的主要方式之一,如图 2-16 所示。

  图 2-16 新词汇识别流程对用户查询日志进行分析,筛选出日志中查询相对频繁的词汇。如果某个查询相对频繁的关键字不存在于词典系统中,就把这个关键字与部分页面的内容进行匹配;如果命中,则表明该关键字是存在的,加入词典系统;否则,对下一个查询频繁词语进行匹配。点击点击是用户找到所需信息后的表现,反映了用户对信息的关注。因此,用户对链接的点击也是衡量页面相关性的一个因素,是衡量页面相关性的一个重要补充。在同一个关键字的搜索结果列表中,不同的用户会有不同的选择。但是,如果某一个结果的点击次数明显多于其他结果,则从一定程度上反映了该页面是大部分用户所需要的(特别是当该链接处在比较靠后的位置时)。众所周知,搜索结果中越靠前的链接得到点击的几率就会越高。按照这样的逻辑,那么在排在第二、第三甚至第四的页面被点击的机会就会变得越来越小,但这并不代表这些页面就不比排在前面的页面重要,只是在目前的排序结果中,用户还没机会发现它们而已。所以,对于不同位置上链接的点击,搜索引擎会对其权重值进行相应的补偿。假设排在第一位的结果每被点击一次会产生 1 分的补偿,而排名在 100 名的结果被点击一次则会产生 10 分甚至更多的补偿。3.缓存机制为了能在极短的时间内响应用户的查询请求,搜索引擎除了在用户提交查询信息前就生成关键字对应的页面排序列表以外,还需要为那些查询最频繁的关键字对应的页面排序列表建立缓存机制。经过统计,搜索引擎发现关键字查询的集中现象非常明显。查询次数最多的前 20%的关键字大约占了总查询次数的 80%(即著名的 80/20 法则)。因此,只要我们对这 20%左右的关键字建立缓存就可以满足 80%的查询需求。由于用户查询时返回的信息主要是与关键字相关的页面排序列表,因此关键字缓存机制的建立主要是针对与关键字相关的页面排序列表。在对常用关键字的页面排序列表建立缓存后,搜索引擎就可以把缓存中的信息返回给用户,这样速度就会非常快,也就能满足绝大部分用户的需求。由于互联网中的信息是时刻都在增长的,如果搜索引擎每次都向用户返回同样的信息,那么不但用户得不到更高质量的信息,其他网站也不能向用户展示最新的高质量信息,从而造成信息滞后。因此,搜索引擎还会对缓存中的内容进行定期更新。

相关文章

网友留言

发表评论

◎欢迎参与讨论