论文部分内容阅读
信息技术的飞速发展和计算机互联网的普及,给人们的生活带来了前所未有的变化,尤其是人们获取信息的途径得到丰富。在这个过程中,搜索引擎正扮演着越来越重要的地位。人们在要求搜索的查全率和查准率的同时,也对搜索的性能提出了要求。分布式系统与并行计算技术的发展是我们提高搜索引擎的性能的前提。本文的工作正是要设计和开发一个基于分布式索引的搜索引擎的信息检索系统。
本文设计和实现了一种基于集群系统的分布式信息检索系统,系统包括Server节点、Client节点、Proxy节点和Checker节点,这四种计算节点互相配合,完成一个完整的信息检索模块的功能,包括建立索引和索引查询等等,设计目标是为了实现整个系统性能上的提升。
在分布式信息检索系统中,索引文件分布在不同的Client节点之上,由Server节点统一管理建立索引的过程和Cliem节点的生存状态,以此达到建立索引的并行化,提高建立索引的效率;在检索过程中,Proxy节点负责接收用户的查询请求,并将查询和全局数据一起进行封装,分发给负责具体查询工作的Client节点,再对Client节点返回的结果进行合并,返回给用户,这样就实现了检索的并行化,提高了检索的效率;在Client节点之间实现了索引文件的冗余备份,并实现了一套与此相对应和数据恢复和备份索引查询的机制,使分布式索引系统拥有了一定的容错性能。系统基于开源软件Nucth而实现,并基于Map/Reduce实现了分布式索引的建立流程。实验验证了系统在多Client节点的情况下建立索引和索引检索性能的提升,以及在Client节点出现崩溃的情况下系统具有较好的容错性能。
在检索系统的检索效果优化方面,提出了一些对查询结果进行修正的算法,包括二次排序优化和扩展查询,其效果已经在SEWM2006的中文信息检索测评中得到验证。并设计了基于拼音的拼写纠正和基于用户日志的相关查询两个模块,方便用户使用。
业已实现的分布式索引的信息检索系统将在教育网上提供教育信息的检索服务。