论文部分内容阅读
伴随着互联网的快速发展,大型搜索引擎面临着越来越严峻的性能挑战。一方面,它们每秒钟都要响应成百上千的查询请求,而这些请求需要从上百亿张网页中检索出与之最相关的网页集合。另一方面,它们必须不断引入信息检索及相关领域最新的科学技术,用以满足日益增长的用户需求,例如用户个性化检索。 为了解决上述问题,前人提出了大量针对搜索引擎架构及策略的优化方法,例如提前停止和结果缓存策略。本文将专注于研究一类重要的搜索引擎性能优化方法——倒排索引压缩。 尽管研究者们提出了大量高度优化的算数编码方法用以减少倒排索引的存储空间及其查询处理时间,但是随着互联网信息和查询负载的不断增长,传统的索引压缩方法仍面临着日益严峻的性能挑战。为此,本文提出了一套全新的基于文法的倒排索引压缩策略,该策略在显著提高索引压缩效果的同时,还能有效提高后续的查询处理性能。 本文方法主要通过识别不同列表内反复出现的重复数据模式(相同文档号子序列),从而将原始倒排索引存储成一个数据组织更为紧凑的上下文无关文法。为了进一步提高压缩效果,本文在生成的文法索引基础上又提出了一系列新的索引存储结构,例如一种四段式结构——通过执行一种基于文法的倒排索引重排策略得到。实验结果显示:与传统索引压缩策略相比,通过采用本文方法,存储完整倒排索引所需的磁盘空间可降低10%~37%。 为了最大限度地提高本文方法的解压性能,文中针对存储结构不同的各式索引分别给出了它们对应的快速解压策略。实验结果显示:相比于传统索引压缩策略,基于文法的倒排索引其解压速度提高了约3.03倍。