论文部分内容阅读
在全球互联网资源急剧膨胀的情况下,搜索引擎技术为人们查找所需资料提供了一个良好的接口。然而,面对通用搜索引擎的信息量大、查询不准确、深度不够等问题,垂直搜索引擎应运而生,它是一种新的搜索引擎服务模式,其特点就是“专、精、深”,只针对特定主题范围内的信息进行检索,检索速度快、信息集中、信息可利用率高。同时,面对海量数据,分布式技术是一个较好的切入点,虽然增加了系统的开销和设计的复杂性,但是可以大幅度提高信息采集和检索的效率,其研究具有巨大的商业价值和广阔的应用前景。本论文对当前搜索引擎的相关技术进行了研究,并结合垂直搜索引擎和分布式的相关技术设计出一种分布式垂直搜索引擎的系统结构,它由网页采集、信息检索及后台管理系统等组成,用于实现网页的抓取、检索以及提供以推荐、导出、二次开发接口为交互形式的信息整合功能,系统功能强大、易用、稳定、人性化。网页采集即网络爬虫WebSpider,它是系统数据的主要来源,并且是一个独立性相对较高的业务产品模块,它的性能直接影响了采集信息的数量与质量。采集底层采用开源项目Nutch作为支撑,实现了一个基于RMI技术的分布式垂直搜索爬虫,它利用动态脚本JavaScript分析技术和XPath技术对特定的元数据信息进行抽取,也可以通过定制编程解析器来抽取元数据,最终将处理完的信息存储到数据库。索引和检索搭建在现阶段比较流行的开源项目Lucene上,分布式采用了Hadoop中调度节点和任务节点的思想,它们之间通过RPC方式进行通信,调度节点会定时通过心跳检查判断分布式系统中可用任务节点。排序算法采用了改进的Lucene积分排序算法,数据去重使用了纯Java开发的轻量级HSQLDB嵌入式数据库,最后设计了功能丰富、样式美观的信息检索前台端展示界面。