|
SEO基础-百度搜索引擎(BaiduSpider)工作原理【第2节-检索排序】时间:2016-11-09 文章内容
搜索引擎索引系统概述众所周知,搜索引擎的主要工作过程包括:抓取、存储、页面分析、索引、检索等几个主要过程。上一节我们主要介绍了部分抓取存储环节中的内容,这一节简要介绍一下索引系统。 在以亿为单位的网页库中查找特定的某些关键词犹如大海里面捞针,也许一定的时间内可以完成查找,但是用户等不起,从用户体验角度我们必须在毫秒级别给予用户满意的结果,否则用户只能流失。怎样才能达到这种要求呢? 如果能知道用户查找的关键词(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日发布公告:针对低质量网页推出了石榴算法,旨在打击含有大量妨碍用户正常浏览的恶劣广告的页面,尤其是弹出大量低质广告、存在混淆页面主体内容的垃圾广告的页面。 百度质量团队希望站长能够多从用户角度出发,朝着长远发展考虑,在不影响用户体验的前提下合理地放置广告,赢得用户的长期青睐才是一个网站发展壮大的基础。 |