论文部分内容阅读
伴随着互联网的高速发展,网络上的数据信息量急剧膨胀,有“互联网窗口”之称的搜索引擎的计算量及存储量不可同日而语。面对如此庞大且高速增长的海量数据,传统集中式搜索引擎暴露出诸多不足,主要表现在时效性差,可扩展性低,故障率高等方面。面对上述难题,且随着分布式计算技术不断发展成熟,分布式搜索引擎应运而生。本文针对分布式搜索引擎,剖析了分布式计算的三项关键技术,即分布式文件系统、Map/Reduce编程模型、分布式结构化数据存储。结合传统搜索引擎主要模块遭遇的瓶颈,阐述了分布式网络爬虫及Map/Reduce构建倒排索引的原理及应用。此外,对搜索引擎涉及的关键技术提出了部分改进算法及优化设计,并进行相应的实验对比测试:为了在最短的时间内抓取价值最高的网络资源,提出了多优先级多队列网络爬虫,其基本思想即URL价值越高,优先级就越高应优先抓取;三叉Trie树在分词模块中的应用,极大地降低了分词算法的空间复杂度;基于用户习惯及关键词的相关度,提出了静态缓存和动态缓存相结合的多级缓存索引,提高了检索效率及用户体验。最后,本文基于Hadoop分布式计算框架及Lucene检索引擎,部署了一个4节点的分布式搜索引擎系统。将改进算法及优化设计应用于相应关键模块,均取得了较大的效率提升。