论文部分内容阅读
站内搜索引擎是找出网站重要信息的必要工具,高效的站内搜索将有助于提升网站的价值,发挥网站应有的作用。虽然现在一些网络巨头已开始研究并应用这类工具,但整个互联网行业中,受制于技术的门槛,真正的站内搜索技术还没有被广泛的普及。因此,研究并开发站内搜索引擎具有重要的现实意义。
本文主要研究与站内搜索相关的技术和方法,主要包括全文检索、Lucene、Ajax、网络蜘蛛、中文分词等内容。在学习研究的基础上,设计并实现了一个站内搜索引擎;测试结果表明,该引擎具有实用价值。
本文第一部分首先阐述了搜索引擎的相关概念,搜索引擎按照技术原理可以分为三类:全文检索引擎、目录搜索引擎和元搜索引擎,本文主要是研究全文检索引擎。国内许多全文检索系统,其实现都是基于关系数据库开发的,或者是使用通用数据库系统提供的全文检索功能开发的,存在查询速度慢和无法处理非结构化数据等很多弊端。所以本文的研究采用了全文索引文件库。
接着,分析了全文检索工具包Lucene的系统结构、数据流、索引格式等等。然后,研究了Ajax框架,Ajax技术的出现正在改变着B/S结构的应用模式,它正在将我们带入到下一代的网络应用之中。系统的前端搜索界面采用了Ajax技术,带来了更好的用户体验。
然后,是本文的主要工作:分析和设计站内搜索引擎系统。对总体架构的搭建、具体分模块的设计进行了详细的分析。接着,对构建站内搜索引擎中的几个关键问题进行了研究与改进。包括:设计出一种适合站内搜索的网络蜘蛛;选用合适的HTML解析器解析出网页中的文本信息;对Lucene自带的中文分词算法进行了改进;对Lucene排序算法做了改进;为了更好的体现出网页各部分内容的比重关系,在系统中引入词频位置加权算法的思想。
最后,我们用Eclipse开发平台,结合几种开源API,实现了Web站内搜索引擎系统。为了使系统界面更加友好、访问速度更快,系统界面设计采用了新技术--Ajax,最后对系统进行了测试。测试结果表明,该站内搜索引擎系统完全能满足对中小型网站的站内搜索要求。