论文部分内容阅读
面向主题的搜索引擎是一种分类精确细致、更新及时的搜索引擎,是搜索引擎的细分和延伸。随着Web信息的爆炸增长以及信息多元化的发展,主题搜索引擎正成为研究热点与发展趋势。与通用搜索引擎相比,主题搜索引擎由于检索范围较小,查准率和查全率易于保证。本文的研究对象是Web这样的动态海量信息载体,研究的主要目的是要得到一种支持海量网页信息搜集、具有健壮的网页预处理、并提供相应规模的索引和查询接口的中文主题搜索引擎系统。本文所做的可扩展性工作主要体现在网络蜘蛛信息搜集和查询服务实现两方面。基于对网页性质及其分布的认识,本文提出一种可扩展网络蜘蛛信息搜集系统体系结构。系统可以让用户根据自己对信息的兴趣,配置用于引导系统搜集的主题导向词,以及搜集范围。同时,尽可能地使用和遵循现有的标准和协议。在不需要改动或改动很少的配置的情况下,适用不同主题的信息抓取。搜集系统力图在搜集策略、开放性、可定制性等方面得到一个很好的折衷。网络蜘蛛采用Fish搜索算法动态地调整爬行方向,从而保证了抓取网页的主题相关性。网络蜘蛛的可扩展性主要体现在种子链接发现、增量式抓取、多线程和限定抓取类型等。实验结果表明,网络蜘蛛具有较强的抓取能力,很好地解决了搜索引擎的数据来源问题。针对网络蜘蛛搜集来的主题网页进行一系列的预处理,抽取其中的网页URL、标题、正文内容、锚文本等。针对网页URL编码的不同而造成的网页乱码现象,采用统一的字符集和编码方案。设计一个中文搜索引擎,索引创建需要一个高效的倒排算法。本文从索引文件本身出发,采用分级的倒排表索引组织结构,提高了索引创建的效率。本文还结合中文分词技术,构建一定规模的词库,尝试解决中文搜索引擎存在的查准率和检索精度问题。在查询服务阶段,增量和合并的配置策略对索引进行了扩展,实现索引文档的动态更新。本文结合Lucene索引包特点,在达到索引合并阈值时,通过微调Lucene内置参数,有效避免频繁地改动和合并大索引块。同时,本文还给出基于Ajax技术的搜索引擎异步模式,这样极大地丰富了Web的表现力,也因此提高了搜索引擎的效用性。