论文部分内容阅读
随着大数据时代的到来,不仅仅是整个互联网的信息量暴增,许多大中型互联网企业也拥有越来越多的数据。如何从成千上万的数据海洋中准确地使用户找到需要的信息是现在企业面临的一大难题。商用的搜索引擎不具有针对性,这使得企业需要开发自身的搜索引擎以便满足用户需求。从无到有开发和维护一个完整的搜索引擎是非常昂贵的。除了专门从事搜索引擎运营的公司(如Google、Baidu)之外,其他的互联网企业想要开发具备专业性能的搜索引擎是十分困难的。开源程式库Lucene很好地解决了开发企业内部搜索引擎的问题。然而开源的程式库是为了适应大多数站内搜索系统,缺乏个性化,并不能满足企业搜索系统的针对性。同时由于Lucene排序算法比较简单、忽视用户反馈、偏重旧网页等缺点,不能准确地满足用户的需求。为了帮助企业应对互联网环境的新挑战,开发一个能用于搜索较大数据库的搜索系统,同时保证用户能够得到友好的界面搜索体验和更加精确的查询结果,本文工作如下:(1)为了解决用户反馈问题,本文利用Lucene搭建搜索引擎的基本框架,类比PageRank算法采用链接作为网页重要性的评价指标,建立用户查询和网页点击率之间的联系,提出类PageRank算法(Similar Page Rank,SPR)。再针对专用系统对实时性和用户兴趣度反馈的要求,在算法中添加时间函数和用户兴趣度函数,得到增强型类PageRank算法(Enhanced Similar Page Rank,ESPR)。(2)在新算法的基础上对整个系统进行完整的原理分析,详细阐述了ESPR算法嵌入到系统中的过程。首先重新定义了分词之后索引结构图,直观的说明了对整个索引结构做出的调整。然后结合Lucene原有的语法分析方式完整地推导出搜索索引过程中ESPR算法的打分公式。(3)根据对各个模块的原理分析,通过编程实现了基于增强型类PageRank算法的搜索引擎。Lucene具有良好的封装性和继承性,可以在自定义打分模块中实现对程序的修改。由算法导致的索引结构变化也可以在相应的模块中重新定义。(4)将本文的搜索引擎和其它两类搜索引擎进行查准率性能比较。通过5人技术小组综合评定三个搜索引擎单个查询和多组查询效果。实验结果表明不管是单个查询返回的结果还是多组查询返回的结果,本文的搜索引擎均拥有更高的查准率。基于ESPR算法的搜索引擎成本低、准确率高、针对性强,因此可用于大中型互联网企业提供适合企业自身信息特点的精确搜索服务。除此之外,拥有海量数据的传统企业进军互联网时也非常适合采用本文的搜索引擎为网站提供搜索服务。