论文部分内容阅读
随着互联网规模的增大,网络的普及,以及最近社交网络的兴起和突发新闻事件的迅速传播等趋势,网民不仅对检索系统的全面性,还对检索系统的时效性都提出了更高的要求。因此,在线(实时)检索系统的重要性日益凸显。在索引规模增大、检索速度要求提高、检索结果时效性要求提高的多重压力下,对在线检索系统的性能改进就成为重要的研究目标。
传统上,提升检索系统性能,同样可以使用缓存。然而,尽管已经有了很多研究提出各种缓存替换算法,这些算法主要都是致力于提高缓存的命中率。通过对在线检索系统的分析,本文认为,保证检索结果的时效性是应用在线检索的重要目的。传统上,缓存中的结果在没有替换出去之前,是不会得到更新,从而损害了检索结果的时效性。因此,需要针对在线检索系统的特点,改进缓存机制。
本文首先分析了在线检索系统的实际特点,并通过实验对比分析,给出了时效性的定义以及评价指标,并且通过融合命中率等性能指标,给出了用于在线检索系统的缓存的综合评价指标。这个指标能够更加全面地反映各个缓存算法在在线检索系统中的适用性,可以作为挑选合适算法的客观依据。
本文通过实验,对比了传统缓存替换算法在在线检索系统中应用的表现。通过分析,可以看出,传统的缓存替换算法尽管能够保证缓存的命中率,却损失了检索结果的时效性。
随后,本文针对在线检索系统的特点,给出了缓存结果超时刷新的机制。并结合检索开销、结果集空间开销等因素,给出超时时间设置的算法。接着,通过结合热门查询和索引更新情况,进一步给出调整超时时间的方法。实验结果表明,超时刷新方法在时效性上比替换算法有较为可观的进步,同时综合指标也有一定的提高。
本文进一步提出了将索引更新的文档主动推送到缓存结果中的方法,以避免缓存项刷新带来重新检索的计算开销,并给出详细的实现机制。实验结果表明,主动推送方法可以以较低的代价获得时效性的进一步提高。
最后,本文给出了一个在线检索系统以及相应的缓存系统的原型实现的详细描述。性能分析表明该系统总体上达到了对性能要求较高的实时检索应用的需求。