用户体验对索引系统的信号提取

百度搜索引擎工作原理解读

百度搜索引擎工作原理解读搜索引擎的主要工作过程包括:抓取、存储、页面分析、索引、检索等几个主要过程,也即常说的抓取、过滤、收录、排序四个过程。下面详细讲解每个过程及其影响因素。一、搜索引擎抓取Spider抓取系统是搜索引擎数据来源的重要保证。如果把web理解为一个有向图,那么spider的工作过程可以认为是对这个有向图的遍历。从一些重要的种子URL开始,通过页面上的超链接关系,不断发现新URL并抓取,尽最大可能抓取到更多的有价值网页。影响抓取的因素:抓取友好性:互联网资源数量庞大,要求抓取系统尽可能高效利用带宽,在有限的硬件和带宽资源下尽可能多地抓取有价值资源。抓取返回码:404:代表“NOT FOUND”,认为网页已经失效,通常将在库中删除,同时短期内如果spider再次发现这条URL也不会抓取。503:代表“Service Unavailable”,认为网页临时不可访问,通常网站临时关闭、带宽有限等会产生这种情况。403:代表“Forbidden”,认为网页目前禁止访问。如果是新URL,spider暂时不抓取,短期内同样会反复访问几次;如果是已收录URL,不会直接删除,短期内同样反复访问几次。如果网页正常访问,则正常抓取;如果仍然禁止访问,那么这条URL也会被认为是失效链接,从库中删除。301:代表“Moved Permanently”,认为网页重定向至新URL。当遇到站点迁移、域名更换、站点改版的情况时,推荐使用301返回码,同时使用站长平台网站改版工具,以减少改版对网站流量造成的损失。抓取优先级调配:由于互联网资源规模巨大且迅速变化,对于搜索引擎来说全部抓取到并合理更新保持一致性几乎不可能,因此要求抓取系统设计一套合理的抓取优先级调配策略。主要包括深度优先遍历策略、宽度优先遍历策略、PR优先策略、反链策略、社会化分享指导策略等。抓取反作弊:spider在抓取过程中往往会遇到所谓抓取黑洞或面临大量低质量页面的困扰,这就要求抓取系统中同样需要设计一套完善的抓取反作弊系统。对于网站抓取频次的判断原则:网站更新频率:更新快则多来,更新慢则少来,直接影响Baiduspider的来访频率。网站更新质量:更新频率提高了,仅仅是吸引了Baiduspider的注意,Baiduspider对质量有严格要求,如果网站每天更新出的大量内容都被Baiduspider判定为低质页面,依然没有意义。连通度:网站应该安全稳定、对Baiduspider保持畅通,经常给Baiduspider吃闭门羹不是好事情。站点评价:百度搜索引擎对每个站点都会有一个评价,且这个评价会根据站点情况不断变化,是百度搜索引擎对站点的一个基础打分。二、搜索引擎过滤垃圾内容搜索引擎在抓取到网页后,会进行垃圾内容过滤,主要包括:重复内容的网页:互联网上已有的内容,百度没有必要再收录。主体内容空短的网页:有些内容使用了百度spider无法解析的技术(如JS、AJAX等),虽然用户访问能看到丰富的内容,但依然会被搜索引擎抛弃;加载速度过慢的网页,也有可能被当作空短页面处理;很多主体不突出的网页即使被抓取回来也会在这个环节被抛弃。部分作弊网页:包括但不限于死链、重复数据、色情、垃圾结果等。三、如何更好地被收录并建立索引哪些网页可以进入优质索引库呢?总的原则是:对用户的价值。包括但不限于:有时效性且有价值的页面:时效性和价值是并列关系,缺一不可。内容优质的专题页面:专题页面的内容不一定完全是原创的,但可以很好地把各方内容整合在一起,或者增加一些新鲜的内容(如观点和评论),给用户更丰富全面的内容。高价值原创内容页面:百度把原创定义为花费一定成本、大量经验积累提取后形成的文章。重要个人页面:如名人微博等,即使不经常更新,但对于搜索引擎来说,它仍然是一个极重要的页面。四、百度搜索引擎排序影响因素搜索引擎在建立索引后,会根据一系列因素对网页进行排序,主要包括:相关性:网页内容与用户检索需求的匹配程度,如网页包含的关键词个数、关键词出现的位置、外部网页指向该页面所用的锚文本等。权威性:用户喜欢有一定权威性网站提供的内容,相应的,百度搜索引擎也更相信优质权威站点提供的内容。时效性:新出现的网页且承载了新鲜的内容,在搜索引擎中日趋重要。重要性:网页内容与用户检索需求匹配的重要程度或受欢迎程度。丰富度:网页内容丰富,可以完全满足用户需求;不仅可以满足用户单一需求,还可以满足用户的延展需求。受欢迎程度:指该网页是否受欢迎。终排序:将最能满足用户需求的结果排序在最前,可能包括的有用信息如网站的整体评价、网页质量、内容质量、资源质量、匹配程度、分散度、时效性等。总结:这整个过程就是搜索引擎从抓取到排名结果页的计算过程。其中影响排名的因素还有很多,但网站的总体得分是由每个网页组成,因此要做好每个网页的细节优化,提升用户体验,从而提升网站排名。


nginx