论文部分内容阅读
随着互联网信息技术的不断发展,各种基于企业和政府内网的B/S应用不断涌现。这些应用由于各种原因如安全、保密等因素不对外网开放,但同时又积累了大量的数据。如何让用户快速有效地从这些数据中获得想要的信息为越来越多研究者所关注,针对这些内网应用的搜索引擎功能也就应运而生。 本文首先对搜索引擎的原理、系统结构等方面做了分析与介绍,然后结合Nutch开源搜索引擎框架,对搜索引擎涉及到的一些关键技术进行了研究与分析。在此基础上本文完成了以下几方面的工作: 1、针对内网环境下多站点信息分布的特点,本文分析了内网站点之间的内容相关度(Relevance)、重要性(Authority)以及页面之间指出的超链和新颖程度等因素,改进了原有Nutch爬虫的算法与爬行策略,从而提高了Nutch爬虫在内网环境下对多站点信息的搜集处理能力。 2、本文采用了Lucene全文索引库来存储信息,并利用其完成了检索功能模块的设计,然后针对内网索引数据量小,用户类型多的特点对检索进行了优化,从而达到了降低索引存储时间,提高用户检索速度的效果。 3、本系统前台搜索功能使用了J2EE框架下的MVC分层模式来进行设计开发。设计中首先使用Nutch插件获取索引数据并建立模型层,然后结合Nutch的API与用户信息模型来开发业务层,最终将搜索结果通过视图层展示在前台。另外系统分别从索引、检索、Web等层面进行缓存,加快了用户的响应与搜索体验。 4、本系统通过基于用户的Web访问信息挖掘技术实现了搜索结果的个性化。本文针对不同的用户群建立了不同的用户模型,改进了Lucene的排序方法,实现了不同部门不同职位的用户查询到更接近其部门或职位的特征的查询结果。 通过以上几方面的工作,本系统实现了一个针对中小型网络的开源搜索引擎的功能,对搜索引擎进行了一次实践与创新。