Categories


Tags


百度搜索引擎工作原理-3-检索排序

搜索引擎索引系统概述

众所周知,搜索引擎的主要工作过程包括:抓取、存储、页面分析、索引、检索等几个主要过程。上一章我们主要介绍了部分抓取存储环节中的内容,此章简要介绍一下索引系统。

在以亿为单位的网页库中查找特定的某些关键词犹如大海里面捞针,也许一定的时间内可以完成查找,但是用户等不起,从用户体验角度我们必须在毫秒级别给予用户满意的结果,否则用户只能流失。怎样才能达到这种要求呢?

如果能知道用户查找的关键词(query切词后)都出现在哪些页面中,那么用户检索的处理过程即可以想象为包含了query中切词后不同部分的页面集合求交的过程,而检索即变成了页面名称之间的比较、求交。这样,在毫秒内以亿为单位的检索成为了可能。这就是通常所说的倒排索引及求交检索的过程。如下为建立倒排索引的基本过程:

1,页面分析的过程实际上是将原始页面的不同部分进行识别并标记,例如:title、keywords、content、link、anchor、评论、其他非重要区域等等;

2,分词的过程实际上包括了切词分词同义词转换同义词替换等等,以对某页面title分词为例,得到的将是这样的数据:term文本、termid、词类、词性等等;

3,之前的准备工作完成后,接下来即是建立倒排索引,形成{termàdoc},下图即是索引系统中的倒排索引过程。

倒排索引是搜索引擎实现毫秒级检索非常重要的一个环节,下面我们要重要介绍一下索引系统建立倒排索引的重要过程——入库写库。

倒排索引的重要过程——入库写库

索引系统在建立倒排索引的最后还需要有一个入库写库的过程,而为了提高效率这个过程还需要将全部term以及偏移量保存在文件头部,并且对数据进行压缩,这涉及到的过于技术化在此就不多提了。在此简要给大家介绍一下索引之后的检索系统。

检索系统主要包含了五个部分,如下图所示:

(1)Query串切词分词即将用户的查询词进行分词,对之后的查询做准备,以“10号线地铁故障”为例,可能的分词如下(同义词问题暂时略过):

10  0x123abc

号   0x13445d

线   0x234d

地铁 0x145cf

故障 0x354df

(2)查出含每个term的文档集合,即找出待选集合,如下:

0x123abc   1  2 3  4  7  9…..

0x13445d   2  5 8  9  10  11……

……

……

(3)求交,上述求交,文档2和文档9可能是我们需要找的,整个求交过程实际上关系着整个系统的性能,这里面包含了使用缓存等等手段进行性能优化;

(4)各种过滤,举例可能包含过滤掉死链、重复数据、色情、垃圾结果以及你懂的;

(5)最终排序,将最能满足用户需求的结果排序在最前,可能包括的有用信息如:网站的整体评价、网页质量、内容质量、资源质量、匹配程度、分散度、时效性等等

影响搜索结果排序的因素

上面的内容好象有些深奥,因为涉及大量技术细节,我们只能说到这儿了。那下面我们说说大家最感兴趣的排序问题吧。用户输入关键词进行检索,百度搜索引擎在排序环节要做两方面的事情,第一是把相关的网页从索引库中提取出来,第二是把提取出来的网页按照不同维度的得分进行综合排序。“不同维度”包括:

1,相关性:网页内容与用户检索需求的匹配程度,比如网页包含的用户检查关键词的个数,以及这些关键词出现的位置;外部网页指向该页面所用的锚文本等

2,权威性:用户喜欢有一定权威性网站提供的内容,相应的,百度搜索引擎也更相信优质权威站点提供的内容。

3,时效性:时效性结果指的是新出现的网页,且网页内承载了新鲜的内容。目前时效性结果在搜索引擎中日趋重要。

4,重要性:网页内容与用户检查需求匹配的重要程度或受欢迎程度

5,丰富度:丰富度看似简单却是一个覆盖范围非常广的命题。可以理解为网页内容丰富,可以完全满足用户需求;不仅可以满足用户单一需求,还可以满足用户的延展需求。

6,受欢迎程度:指该网页是不是受欢迎。

以上便是百度搜索引擎决定搜索结果排序时考虑的六大原则,那么六大原则的侧重点是怎样的呢?哪个原则在实际应用时占比最大呢?其实在这里没有一个确切的答案。在百度搜索引擎早期,这些阈值的确是相对固定的,比如“相关性”在整体排序中的重量可以占到七成。但随着互联网的不断发展,检索技术的进步,网页数量的爆发式增长,相关性已经不是难题。于是百度搜索引擎引入了机器学习机制,让程序自动产出计算公式,推进排序策略更加合理。

低质网页狙击策略——石榴算法

我们理解网站生存发展需要资金支持,从来不反对网站添加各种合法广告,不要再问我们“我们网站加了XX联盟的广告会不会被处罚”这类问题。有些站点好不容易在百度有了比较好的排位,却在页面上放置大量有损访问用户体验的广告,已经严重影响到百度搜索引擎用户的使用感受。为此,百度质量团队2013年5月17日发布公告:针对低质量网页推出了石榴算法,旨在打击含有大量妨碍用户正常浏览的恶劣广告的页面,尤其是弹出大量低质广告、存在混淆页面主体内容的垃圾广告的页面。

如以下网页截图,用户要花很长时间去寻找真正的下载地址,是百度无法接受容忍的。

百度质量团队希望站长能够多从用户角度出发,朝着长远发展考虑,在不影响用户体验的前提下合理地放置广告,赢得用户的长期青睐才是一个网站发展壮大的基础。

来源:百度搜索资源平台 百度搜索学堂


Public @ 2022-09-15 16:21:46

搜索引擎是怎么删除重复网页的

搜索引擎是通过比较网页URL,内容和相关属性来删除重复网页的,具体步骤如下: 1. 搜索引擎收集器(Crawler)会在网络上发现新网页并收集,此时会有一定概率发现相同的网页,并添加到收集器的索引中去。 2. 收集器会识别新的网页,把重复的网页排除。 3. 然后,搜索引擎把新索引serves给布置在 Indexer(索引器)中,执行深入索引,会把相同内容的文章及URL排除,仅保留一条记录

Public @ 2023-02-24 23:12:24

头条搜索Bytespider基本流程

1. 确定搜索对象:首先需要确定搜索的关键词或者主题,同时要考虑搜索的范围和时间范围。 2. 制定搜索策略:基于搜索对象和搜索范围,制定针对性的搜索策略,选择合适的搜索引擎,在搜索过程中要注意细节,如设置搜索选项等。 3. 搜集信息:第三步就是进行搜索,搜集相关信息,可以应用各种搜索工具,如搜索引擎、专业数据库、社交媒体等,搜集到的信息需要进行分类整理,提取有用的信息,剔除无效信息。 4.

Public @ 2023-06-11 13:50:15

百度搜索引擎工作原理

百度搜索引擎工作原理大致如下: 1. 爬虫抓取网页:百度的爬虫程序会从互联网抓取网页并将其存入数据库中。 2. 预处理:百度对所有网页进行预处理,这个过程会去除无用信息、提取关键词、计算每个网页的PageRank等。 3. 查询处理:当用户输入关键词进行搜索时,百度会将查询处理成一组词条,并进行分类别处理,比如确定搜索意图是找资讯、图片、视频等。 4. 检索匹配:百度搜索引擎会对数据库中的

Public @ 2023-06-20 19:50:19

百度搜索引擎工作原理-2-抓取建库

Spider抓取系统的基本框架互联网信息爆发式增长,如何有效的获取并利用这些信息是搜索引擎工作中的首要环节。数据抓取系统作为整个搜索系统中的上游,主要负责互联网信息的搜集、保存、更新环节,它像蜘蛛一样在网络间爬来爬去,因此通常会被叫做“spider”。例如我们常用的几家通用搜索引擎蜘蛛被称为:Baiduspdier、Googlebot、Sogou Web Spider等。Spider抓取系统是搜索

Public @ 2022-09-10 16:21:47

更多您感兴趣的搜索