百度搜索引擎优化原理(搜索引擎索引系统建立倒排索引的重要过程——入库写库)
优采云 发布时间: 2021-12-05 06:02百度搜索引擎优化原理(搜索引擎索引系统建立倒排索引的重要过程——入库写库)
搜索引擎索引系统概述
众所周知,搜索引擎的主要工作流程包括:抓取、存储、页面分析、索引、检索等主要流程。上一章我们主要介绍了爬取和存储链接中的一些内容。本章简要介绍索引系统。
在以亿为单位的网页库中搜索某个特定的关键词,就像大海捞针。有可能在一定时间内完成搜索,但用户等不起。从用户体验的角度来说,一定要做到毫秒级别。用户对结果满意,否则用户只会流失。我们怎样才能满足这个要求?
如果能知道用户搜索了哪些页面关键词(查询切词后),那么用户检索的过程可以想象成查询词切词后页面集合的不同部分相交的过程. , 并且搜索成为页面名称之间的比较和交集。这样,以毫秒为单位的亿次检索成为可能。这就是所谓的倒排索引和交叉检索的过程。建立倒排索引的基本过程如下:
1、页面分析的过程,其实就是对原页面的不同部分进行识别和标记,如标题、关键词、内容、链接、锚点、评论、其他不重要的区域等;
2、分词的过程其实包括分词、分词、同义词转换、同义词替换等,以页面标题的分词为例,得到的数据将是这样的数据:term text, termid, part of语音、词性等;
3、前面的准备工作完成后,下一步就是创建倒排索引,形成{termàdoc}。下图显示了索引系统中的倒排索引过程。
倒排索引是搜索引擎实现毫秒级检索的一个非常重要的环节。接下来,我们要介绍索引系统建立倒排索引的重要过程——存储和写入。
倒排索引的重要过程——入库和写入
索引系统需要在倒排索引建立结束时有一个存储和写入过程。这个过程为了提高效率,还需要将所有的terms和offsets保存在文件头中,并对数据进行压缩,涉及到的技术性这里就不多说了。这里简单介绍一下索引后的检索系统。
检索系统主要由五部分组成,如下图所示:
(1)查询串分词就是将用户的查询词进行切分,为后续查询做准备。以“地铁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、相关性:网页内容与用户搜索需求的匹配程度,比如网页中收录的用户查看关键词的次数,这些关键词出现在什么地方;外部网页指向页面使用的锚文本 Wait
2、权限:用户喜欢网站提供的内容,具有一定的权限。相应地,百度搜索引擎也更相信优质权威网站提供的内容。
3. 时效性:时效性结果是指新出现的网页,该网页带有新鲜的内容。目前,时间敏感的结果在搜索引擎中变得越来越重要。
4、重要性:网页内容与用户查看需求相匹配的重要程度或流行程度
5.丰富性:丰富性看似简单,其实是一个涵盖面很广的命题。可以理解为网页内容丰富,完全可以满足用户的需求;既可以满足用户的单一需求,又可以满足用户的扩展需求。
6. 流行度:指网页是否流行。
以上就是百度搜索引擎在决定搜索结果排名时考虑的六大原则。那么六项原则的重点是什么?哪个原理在实际应用中所占的比例最大?事实上,这里没有明确的答案。在百度搜索引擎的早期,这些门槛确实是比较固定的。例如,“相关性”可以占整体排名的 70%。但是,随着互联网的不断发展,检索技术的进步,网页数量的爆炸式增长,相关性不再是问题。因此,百度搜索引擎引入了机器学习机制,让程序自动生成计算公式,促进更合理的排名策略。
低质量网页的狙击策略——石榴算法
我们理解网站生存发展需要资金支持,从不反对网站添加各种合法广告,也不会再问我们“我们网站会不会加XX联盟广告被处罚”这样的问题。有的网站在百度上排名不错,但在页面上投放了大量有损用户体验的广告,严重影响了百度搜索引擎用户的体验。为此,百度质量团队于2013年5月17日发布公告:推出针对低质量网页的石榴算法,旨在打击存在大量不良广告,阻碍用户正常浏览,尤其是弹出式广告的页面。 - 低质量的广告和混乱的页面。主要内容收录垃圾邮件广告的页面。
如以下网页截图所示,用户需要很长时间才能找到真正的下载地址,百度无法接受。
百度质量团队希望站长能够更多地站在用户的角度关注长远发展,在不影响用户体验的情况下合理投放广告。赢得用户的长期青睐是网站发展壮大的基础。