实际上在互联网中每时每秒都有大量的页面生成,为了满足用户的不同需求,必须要加入最新的文档返回给用户,比如:小明,在百度上查询了“今日南京天气预报”,如果按照静态索引的话,返回的信息就不是最新的,可能是今天以前的天气预报信息。从用户的体验上来说并不是很好,那么动态索引就很好的解决了这一问题。
在原始的静态索引库搭建好之后,源源不断的会有新的文档加入进来,同时在原先的文档索引中可能会被删除或者内容被更改。比如:在视频软件客户端上看某个电视剧或者是电影,视频软件会一边下载一边播放,当观看一个新的视频时,缓存库中会有该视频的缓存文件,搜索引擎也是一样的,需要及时的将新的文件纳入到缓存库中。删除该视频的缓存也是实时可以看得见的,大多数搜索引擎也是类似于这样的动态场景。
那么搜索引擎具体是怎么实现这种动态索引的呢?老规矩我们先来了解一下名词概念:
1、倒排索引:这其实是单词对应文档的一种存储形式。
2、临时索引:也是一种存储形式,和倒排索引不同的是,比如有新的文档加入到系统中,实时的对文档进行分析,并加入到临时的索引的存储形式中。
3、已删除文档列表:这个很好理解就是用来存储被删除文档的对应ID后,所形成的一个ID列表。PS,如果一篇文档的内容被更改了,搜索引擎就会认为不存在旧的文档了,会将它删除掉,然后在系统里增加新的文档,通过这样的方式来实现对内容更改的支持。
当搜索引擎发现了一个新的文档时(互联网上的所有文件叫做文档,比如jpg,txt,js等等这些都是文档),都会把它放到临时的缓存索引库中。当有文档被删除或者更改之后,会把它放在删除队列,抓取更新后的文档信息,通过临时的缓存索引库中,来实现一个动态的索引。
举个例子:一个用户在百度搜索某个查询词的时候(等于是向搜索引擎发送了一个请求),搜索引擎会在自己的倒排索引库中和临时缓存索引库中,找到与用户查询词相关的文档集合,同时将两个库中的文档集合进行筛选整合,最后得出相关的文档,并在搜索结果页上返回这些文档集合。
在实际中,网站所在的服务器资源是有限的,随着时间的推移,越来越多的文档被加入到这个系统中,临时缓存索引库的内存也会被消耗,可能在最初分配给临时缓存索引库的内存已经不能够满足现在的要求了。搜索引擎通过4种更新的策略完美的解决了这个问题,分别是:完全重建策略、再合并策略、原地更新策略、混合策略,这些就不再深度讲解了。
实战中的应用,通过上面的结论,当我们的网站文章页面被收录后,排名不是很理想,那这个时候是删除这个页面,然后重新写一个新的关于这个词的文章吗?
并不是,正确的做法应该是修改原网页的内容,让这个页面丰富度更加的完善(比如图文并茂、文章的排版布局、重点的话语加粗、加入时间戳、分享插件、评论等等),然后在百度站长平台上提交了链接并且投诉这个网页的快照。删除这个页面不好么?也可以,但删除URL并不是首选,因为删除这个页面后就变成了死链接。
而针对死链接,这里有两种情况:一班的seo从业者如果细节做的不到位的话,就不会管它了,任凭网站上存在死链接,这其实对于蜘蛛的友好度不利,也会导致网站的整体分值下降,对网站的排名非常的不利。那么二班的seo从业者可以很好的利用相关工具(比如:尖叫青蛙、绿蜗牛等等工具)抓取网站的死链接,并且提交到百度站长平台上面,但是搜索引擎的更新并不是很及时而且有时候即使收录了也会放出来,举个例子:网站双收录后,做了301跳转也要1-3个月才能生效,所以在原网页上修改是最好的选择,这次分享就到这里,欢迎在评论区留言。
|