论文部分内容阅读
进入21世纪以来,互联网得到了迅速发展,互联网的信息资源越来越丰富,信息量越来越大,呈指数级增长。而人们对互联网的依赖越来越紧密,在互联网上查询信息资源也越来越频繁。互联网的信息资源如此巨大,想要快速、准确地在海量的信息资源库中查询到所需的资源,就必须使用良好的搜索引擎工具。搜索引擎为网络用户提供了信息检索服务,属于互联网应用软件,该系统按照一定的检索策略为用户提供信息检索服务,并将检索结果排序为用户提供互联网信息查询服务。目前,随着搜索引擎技术的发展,越来越多的机构和人员将搜索引擎作为研究热点,为此,Apache基金会推出了一个开源的全文搜索引擎工具包Lucene。本论文采取两种研究方案,先在Lucene全文搜索的功能角度去研究数据排序算法,通过研究现有的排序算法:倒排算法查询速度快、存储空间小,可以提供排序查询功能但是不能快速的支持短语查询,不能很好适应中文等词边界未确定语言。后缀树和后缀数组索引模型支持短语查询与自索引功能并且对词边界未确定语言有很好适应性但是不支持排序查询;再分析各自的优缺点进行对比,进而得出其适用于Lucene全文检索领域的算法。再通过对常用算法的应用研究,提出一种改进的数据排序算法:SA-PL索引模型,该模型利用后缀数组可以支持短语查询、自索引和词边界未确定语言适应性且与后缀树相比存储空间小的特点,将后缀数组与倒排表相结合。根据SA-PL索引模型概念,设计了SA-PL-0索引模型。在SA-PL-0的基础上提出一种通过移除较短倒排表对索引空间进一步压缩的索引模型SA-PL-1。该模型可提高查询速度、减少存储空间,进而实现Lucene环境下数据排序的高效性。最后选择合适的平台和环境对改进算法进行实验检验,实验表明,SA-PL-0和SA-PL-1索引模型可以提供排序查询、短语查询和自索引功能并且对词边界未确定语言有很好适应性,其索引存储空间和索引查询时间综合性能显著优于以往的索引模型。