论文部分内容阅读
随着互联网技术的持续快速发展,人类社会进入了一个前所未有的信息化时代,那就是大数据时代。在大数据时代,人们掌握的数据在以爆炸性的速度增长,因而大数据的存储和分析方法成为处理大数据的关键。大数据不仅仅是数据量的增长,数据的形态也在发生着根本性的变化。据统计,目前互联网上80%以上的数据都是非结构化数据。因此,研究如何处理大规模非结构化数据,成为解决人们在大数据时代如何快速获取有效信息的必由之路。全文检索是信息检索领域一个非常重要的研究方向,它在非结构化数据处理方面具有无可比拟的优势,它的核心就是索引技术。本文着重介绍了两种不同索引结构的索引模型,分别是基于外存的B+树索引模型和基于外存的线性散列索引模型,并对两种索引模型的性能进行了比较实验研究。首先,本文介绍了本课题的研究背景和研究意义,以及国内外对大数据和全文检索系统的研究现状,并结合国内外研究进展情况提出了本文的研究内容、研究目标和拟解决的关键问题。对大数据的概念、全文检索的概念、系统的整体架构设计及全文检索系统涉及到的关键技术也进行了详细阐述。其次,本文研究了基于两种不同索引结构的全文检索系统的设计和实现过程。整个全文检索系统主要包括三个模块:索引模型构建模块、索引存储结构的设计与实现模块与系统检索模型构建模块,并详细介绍了每个模块的设计思路和实现细节。整个系统主要包括文档集合来源、文档预处理、正排索引构建、分块式倒排索引构建、词典文件的结构设计、索引文件的结构设计、缓冲区的管理机制、基于B+树的倒排索引的实现、基于线性散列的倒排索引的实现、系统检索模型构建等内容。最后,本文对两种不同索引结构的倒排索引模型从时间复杂度和空间复杂度两个方面进行了比较测试研究。具体是对检索效率、索引维护效率以及两种索引模式下磁盘占用体积等方面进行了对比实验,并对实验结果进行了分析。实验结果表明,查询每万条数据耗时线性散列比B+树索引快74.21%,插入每万条数据耗时线性散列为B+树索引的2.44倍,删除每万条数据耗时线性散列为B+树索引的83.52%,线性散列索引文件大小为B+树索引文件大小的109.56%。由测试结果可知,B+树索引具有较快的索引构建和更新速度,而线性散列索引则具有较高的磁盘空间占用率和较好的查询性能。