Processing Dynamic Content 处理动态内容
简介
网页的更改,会影响: 索引,缓存,爬虫这三个模块。实时的现在搜索引擎会保持一定比例的索引结构实时更新,保证低延迟。这一节我们将讲解搜索引擎如何解决网页的变化,尤其是三个方面:爬虫,索引,缓存。
自适应爬虫(adaptive crawling)
网页爬虫的目的是收集有用的网页。爬虫一般有两种策略,批爬虫和增量爬虫,现在大多数的搜索引擎是采用增量爬虫。
1.1网页演变
关注时间的网络爬虫的一个核心问题网页演变,而网页演变可以是网站级别的演变,也可以是网页级别的演变 。 前者指的是增加、删除的网页的个数,后者指的是一个网页多久更新其内容。根据研究发现,网页演变有一个很快的周转,每周大概有8%的新网页创建,25%的超链接被创建。然而,一年后,大概80%的超链接和网页会被新的给替代。作为对比,一周后,调整内容少于5%的大概有70%的网页,一年后,大概有50%。直觉上看去,网页修改的频率和修改的内容量之间并没有什么联系。但是,修改的内容量和未来要修改的内容量之间有一个很强的联系。研究人员还更深入的研究了网页的哪个区域的内容更容易随着时间而改变。
1.2增量式爬虫策略(incremental crawling policies)
为了处理网页动态,网页爬虫需要在覆盖度和新鲜度之间做权衡。为了捕捉内容的随时间改变,系统需要创建一个模型来估计网页将什么时候改变内容,以便届时分配爬虫资源(带宽,机器等)。Cho , Garcia-Molina等提出了多种频度估计基于Poisson处理然后调查了它们的偏差,一致性,和有效性。实际上,这意味着改变可以追踪多个离散的事件上。例如,简单的估计可以是在一段时间内估计网页更改的次数。通过使用这些估计器,一个爬虫蜘蛛能够将爬去新页面的概率提高到35%.其他的工作则考虑网页的内容来估计,或者相似内容的更新频率。
我们注意到,这些方法大多独立于“网页”和“修改"的定义。例如,设计一个网络蜘蛛来捕获到其内容更改超过30%的网页。这些技术被应用的前提是,”抓取单元” 的概念很明确,并且有一种机制可以检测该单元是否发生了更改。
时态索引(temporal indexing)
在之前的章节,我们介绍了爬虫需要随着页面更新而更新&#