搜索引擎最重要的是什么?会说是查询结果的准确性

优采云 发布时间: 2021-08-03 22:16

  

搜索引擎最重要的是什么?会说是查询结果的准确性

  

  搜索引擎最重要的是什么?有人会说是查询结果的准确性,也有人会说是查询结果的丰富程度,但其实这些都不是搜索引擎最致命的方面。对于搜索引擎来说,最致命的是查询时间。试想一下,如果你在百度界面查询一个关键词,你的查询结果反馈给你需要5分钟,结果一定是你迅速放弃百度。

  为了满足搜索引擎对速度的苛刻要求(商业搜索引擎的查询时间单位都是微秒量级),他们使用缓存来支持查询需求,这意味着我们在查询时得到我们得到的和搜索。结果不及时,但结果已缓存在其服务器上。那么搜索引擎工作的一般流程是怎样的呢?我们可以将其理解为三个阶段。

  Tianjin seo Chen Yue 只是对三个工作流做了一般性的解释和概述,一些详细的技术细节将由其他文章 单独解释。

  一.web 合集

  网页采集其实就是大家常说的蜘蛛爬取网页。所以对于蜘蛛(谷歌称之为机器人),它们感兴趣的页面分为三类:

  1. Spider 从未抓取过新页面。

  2.Spider 已经爬取过的页面,但是页面内容发生了变化。

  3. Spider 抓取的页面,但现在已被删除。

  那么如何找到这三种类型的页面并进行有效的抓取,是蜘蛛编程的初衷和目的。所以这里有一个问题,蜘蛛爬行的起点。

  只要你的网站没有被每个站长严重降级,通过网站后台服务器就能发现勤劳的蜘蛛光顾你的网站,但是你有没有想过写一个程序?换个角度看,蜘蛛是从哪里来的?对此,各方各有各的看法。有一种说法,蜘蛛从*敏*感*词*站(或高权重站)爬行,从高权重到低权重逐层爬行。另一种说法是在URL集合中没有明显的蜘蛛爬行顺序。搜索引擎会根据你的网站内容更新规律,自动计算什么时候是抓取你的网站的最佳时间,然后再抓取。选择。

  其实对于不同的搜索引擎,它们的爬取点会有所不同。对于百度,笔者更倾向于后者。在百度官方博客发表的《一种索引页面链接完成机制的方法》一文中,明确指出“蜘蛛会尝试检测网页的发布周期,并以合理的频率检查网页”。由此可以推断,在百度的索引库中,对于每一个URL集合,都会计算出合适的爬取时间和一系列参数,然后爬取对应的站点。

  在这里,我想澄清一下,对于百度来说,site的价值并不是蜘蛛爬过的你的页面的价值。比如site:,得到的值并不是大家常说的百度收录值。如果要查询具体的百度收录quantity,应该在百度提供的站长工具中查询索引数量。那么什么是网站呢?以后我会在文章给你解释。

  那么蜘蛛是如何找到新链接的呢?他们依赖于超链接。我们可以将所有 Internet 视为定向集合的集合。蜘蛛从初始的 URL 集合 A 开始,沿着网页中的超链接不断发现新页面。在这个过程中,每找到一个新的URL,就会和A集合中已有的URL进行比较,如果是新的URL,则添加到A集合中,如果已经在A集合中,则将丢弃。 Spider对站点的遍历和爬取策略分为两种,一种是深度优先,一种是广度优先。但是如果是百度这样的商业搜索引擎,它的遍历策略可能是一个更复杂的规则,比如域名本身的权重系数,百度自己的服务器矩阵的分布等等。

  二.预处理

  预处理是搜索引擎中最复杂的部分。基本上,大多数排序算法在预处理中生效。那么,在这个预处理环节,搜索引擎主要进行以下数据处理步骤:

  1.extraction关键词

  蜘蛛爬取的页面源码与我们在浏览器中查看的源码是一样的。代码通常很乱,很多都与页面的主要内容无关。因此,搜索引擎需要做三件事: 1. 代码去噪。删除网页中的所有代码,只留下文本。 ②转至文字关键词。例如页面导航栏上的关键词以及不同页面共享的其他公共区域。 ③去除停用词。停用词是指没有特定含义的词,如“的”、“在”等。

  当搜索引擎得到这个网页的关键词时,它会用自己的分词系统把这篇文章分成一个分词列表,然后存入数据库,并进行一一对应附上这篇文章的网址。让我用一个例子来说明。

  如果蜘蛛爬取的页面的URL是****.com/2.html,并且搜索引擎在这个页面上进行上述操作后提取的关键词的集合是p,并且p来自关键词p1,p2,……,pn,它们在百度数据库中是一一对应的关系,如下图所示。

  

  2.消除重复和转载网页

  每个搜索引擎都有不同的识别重复页面的算法,但作者认为,如果将重复数据删除算法理解为由100个元素组成,那么所有搜索引擎可能都有相同的80个元素。 其他20个元素是根据不同搜索引擎对seo的态度,专门设置了相应的策略。本文只对搜索引擎的大致流程做一个初步的讲解,对具体的数学模型不多解释。

  3.重要信息分析

  在去噪代码的过程中,搜索引擎并不是简单的去除,而是充分利用网页代码(如H标签、强标签)、关键词密度、内链锚文本等来分析List此页面上最重要的短语。

  4.网页重要性分析

  通过页面外链锚文本传递过来的权重值,确定该页面的权重值,结合上述“重要信息分析”,建立该页面的每一个关键词集p关键词的排序系数。

  5.倒排文件

  如上所述,用户在查询过程中获得的查询结果是不及时的,但一般都安排在搜索引擎的缓存中。当然,搜索引擎不会知道预测,他不会知道用户会去哪个关键词查询,但是他可以建立一个关键词词库,当它处理用户的查询请求时,它会分割他的请求根据词库。这样,搜索引擎就可以在用户生成查询行为之前,计算出每个关键词在词库中对应的URL排名,大大节省了处理查询的时间。

  简单来说,搜索引擎通过控制器来控制蜘蛛爬行,然后用原创数据库保存设置的网址,然后使用索引器控制每个关键词和网址的对应关系。它存储在索引数据库中。

  下面举个例子:

  如果将****.com/2.html页面剪成词p={p1, p2, p3,..., pn},会在索引库中反映如下图。

  

  上图是为了方便大家理解而制作的。索引数据库实际上是搜索引擎中性能要求最高的数据库。因为里面的所有因素都会受到算法的影响,所以我觉得实际的索引数据库应该是一个比较复杂的多维数组组成的索引表,但是它的主要功能和上图是一样的。

  三、查询服务

  查询服务,顾名思义就是在搜索界面处理用户查询请求。搜索引擎构建检索器,然后分三步处理请求。

  1.根据查询方式用关键词切词

  首先将用户搜索到的关键词分成一个关键词序列,我们暂时用q表示,然后用户搜索到的关键词q分为q={q1,q2,q3 ,... ..., qn}。

  然后根据用户的查询方式,比如所有单词是否连在一起或者中间是否有空格,并根据q中不同关键词的词性,确定每个词的显示查询结果中所需查询词中的单词占有的重要性。

  2.搜索结果排序

  我们有搜索词集q,q-index库中每个关键词对应的URL排名,也根据用户的查询方式和词性计算每个关键词在查询结果上的显示职业很重要,所以只需要一点综合排序算法,搜索结果就会出来。

  3.显示搜索结果和文档摘要

  当有搜索结果时,搜索引擎会将搜索结果显示在用户界面上供用户使用。

  在这里,你可以思考两个问题。

  1 在搜索界面,你经常会发现百度显示的摘要是围绕用户的搜索词。如果我不只看第一页,而是再往回翻几页,由于目标页面本身,我会看到一些结果。搜索词没有完全收录,百度提取的摘要中的红色词只是搜索词的一部分。那么我们就可以理解,当搜索词没有完全收录时,分词结果中应该先显示百度呢?百度认为比较重要的词呢?那么从这些搜索结果中,我们能不能看出百度的分词算法的一些蛛丝马迹?

  ②有时搜索词在页面中出现多次,但在百度搜索结果页面的网站summary部分中只显示了其中的一部分。通常这样的部分是连续的,那么我们是否可以理解,在摘要部分,百度会优先展示它认为是搜索词最重要的部分的页面?那么我们可以找出百度去噪后给页面不同部分分配权重的算法吗?

  仁者见仁,智者见智,这两个问题。做SEO的朋友自己摸索摸索。作者不敢在这里。

  四、now 百度的流程漏洞

  请原谅我用流程漏洞来描述这个模块,但不得不说,在点击者泛滥的世界里,我认为说它是漏洞是可以理解的。

  即除了以上三大链接,百度还构建了用户行为模块,影响原有数据库和索引库。影响原数据库的是百度快照投诉,主要针对一些互联网暴利行为。这是可以理解的。而影响索引库的是用户的点击行为。这种设计本身是可以理解的,但百度算法的不成熟导致了点击作弊的猖獗。

  百度的用户行为分析模块非常简单。除了自己的投诉提交入口,它还采集用户在搜索界面上的点击行为。如果这个页面的结果被大多数用户查看,但没有产生点击,大多数用户实际上选择点击第二页甚至下一页,这种现象百度工程师会知道,算法会进行微调根据这个方面。现在百度针对不同行业有不同的算法。

  如果前两页中的某个搜索界面被大量用户选中并点击,通常在24小时内,搜索结果会大大预测,甚至会被提升到第一位。

  五、搜索引擎通用流程图(加用户行为分析器)

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线