论文部分内容阅读
搜索引擎是人们在当今信息飞速增长的时代所不可缺少的一个工具,越来越多的学者倾向于认为搜索引擎是一个集信息检索、互联网服务、用户行为分析以及高性能与分布式计算等多个重要研究方向为一体的综合性平台。如何从互联网这个拥有海量资料的信息库中获取数据,进行高速有效地处理并为用户返回精准的信息被认为是搜索引擎技术发展的核心。为了保护商业机密,现有各大商业搜索服务提供商对其核心技术严格保密,加大了研究搜索引擎的难度。本文在对搜索引擎的流程和原理以及MapReduce编程模型进行详细分析的基础上,结合Lucene全文索引等开源工具包,构建了一个分布式搜索引擎系统,利用此系统不仅可以展开对搜索技术的研究,而且在一定程度上改进了现有搜索引擎的性能。本文的研究工作包括以下几个方面:第一,分析了通用搜索引擎的原理和信息处理流程,描述了分布式计算系统的体系结构,对Hadoop平台的MapReduce分布式编程模式以及Hadoop分布式文件系统进行了详细分析,并以此为基础提出了分布式搜索引擎的架构。第二,分析了网络爬虫系统的原理及其分布式实现方法,对全文索引结构的建立、中文分词算法、多格式文档解析以及页面评分算法等关键技术进行了研究,提出了利用网络爬虫进行分布式多线程爬取、多格式文档解析以及对页面评分算法进行分布式改造的方法,确定了分布式搜索引擎系统的模块划分及各自功能,并对分布式搜索引擎的结构进行了详细设计。第三,使用JAVA编程语言,完成了分模块的具体分布式实现,并通过实验室集群对系统的性能进行了测试,验证了系统设计的可行性。最后,总结了本文的研究工作,并对未来可能实施的研究内容进行了讨论。