论文部分内容阅读
随着互联网技术的快速发展,网络上的信息资源正以惊人的速度增长。出于信息化建设的需要,大量企事业单位都建立了自己的网站,以便向人们提供信息服务,以提高企业的知名度和服务质量。随着时间的推移,许多网站中存储了大量的信息,但是,相当多的网站没有自己的站内搜索引擎系统,这就有可能造成用户无法快速找到自己感兴趣的信息。尽管一些大型的web搜索引擎也向用户提供站内检索的功能。例如Google、百度、雅虎都向Web站点提供了支持站内搜索的机制。但是由于Web搜索引擎收录的Web页面只占因特网中可收录页面的三分之一左右,同时Web搜索引擎通常是经过一个固定的周期才刷新其收录的页面,这必然导致采用Web搜索引擎作为其站内搜索引擎的站点,其搜索结果质量差、不精确、更新慢、不能及时显示站内信息。因此,对于这些没有提供站内信息检索系统的网站,建立自己的站内信息检索系统成为了当务之急。在对搜索引擎系统、全文检索技术和Lucene开源工具包进行了深入研究的基础上,本文设计并实现了一个基于Lucene的站内搜索引擎系统。文中详细介绍了站内搜索引擎系统的需求分析、系统的整体组织架构、系统实现的开发工具以及系统各个功能模块的详细设计和具体实现。该系统包括四个功能模块——信息采集模块、构建索引模块、搜索模块和人机交互界面模块。信息采集模块是搜索引擎的核心组成部分,其作用是用来采集指定站点的文档信息,以便索引模块建立索引;信息采集功能通过网络爬虫(crawler)按照一定规则遍历web站点,并将访问到的信息资源下载到本地服务器。网络爬虫的性能在一定程度上决定了搜索引擎系统的搜索效果、信息是否及时更新、内容是否丰富等。本文设计了一个多线程网络爬虫,用于系统信息的采集。构建索引是搜索引擎的重要环节,索引质量的好坏决定了搜索结果的质量和搜索的效果;本文以Lucene为基础设计了个可以索引HTML Word Excel、Powerpoint等多种格式数据源的索引框架,并详细分析了构建索引的流程、文档解析的流程。当索引文件建立后,搜索模块便可为用户提供检索服务。基于简洁易用的原则,设计了站内搜索引擎系统的两个Web界面——搜索界面和搜索结果展示界面。在站内搜索引擎系统的设计和开发过程中坚持面向对象的设计原则,系统的实现过程中坚持良好的编码规范,以便日后对系统的扩展和二次开发。实验表明,该站内搜索引擎系统能够满足站内信息检索的需要,并具有良好的检索效率和检索性能。