论文部分内容阅读
随着互联网信息技术的快速发展,企业信息化程度不断提高,各个行业内的数据信息急剧增长,而且信息的存在形式也越来越多样。这也使得如何使用户能够快速、精确的从企业的海量数据中找出所需要的关键信息变得越来越重要,而解决这一个问题的关键就是搜索引擎技术。随着开源企业级搜索应用服务器Solr的出现,越来越多的企业开始构建以此为基础的海量数据搜索服务系统。传统的搜索方式是使用文本数据库,虽然文本数据库和搜索引擎的技术基础都是全文检索技术,但是文本数据库在处理海量数据方面的能力无法跟搜索引擎相媲美。搜索引擎采用服务器集群和分布式计算的策略,能够处理较大的数据量。在海量数据的背景下,如何更好地利用开源Solr搜索引擎服务器搭建起快速高效的搜索引擎也成为重要的研究课题之一本文针对这种需求,在基于Solr搜索引擎服务器的基础上,进行海量数据搜索服务的研究。本文首先分析搜索引擎服务器集群的运行特点,运用随机过程中的排队模型对集群系统的可用性进行分析。接着在可用性的基础上深入研究搜索引擎的索引构建和搜索索引两个关键过程。索引构建的过程是将文本转化为能够被搜索引擎搜索的索引文件。本文在分析的基础上提出并行索引的方式,将文档构建索引过程中的部分串行操作并行化,并通过性能负载均衡的策略提高各节点的资源利用率,以应对海量数据构建索引的场景,加速索引的构建。对于搜索的过程,本文首先分析Solr的搜索过程,提出分级缓存模型。模型将频繁搜索的热点数据放置在缓存中,并对缓存数据进行分级,同时提出热相关数据的概念,通过词语相似度计算出与热点数据相似的数据,加载至缓存模型并进行分级操作。本文同时针对分级缓存模型提出了维护策略,充分利用缓存空间,最后改进传统的缓存预热算法,提高系统运行初期的缓存命中率。本文通过搭建搜索引擎服务器集群,对海量数据的索引构建和搜索过程进行实验研究。实验结果表明,本文提出的并行索引和分级缓存模型能够有效提升搜索引擎的索引构建速度和请求响应速度。