论文部分内容阅读
随着互联网的发展,搜索引擎已成为网民获取网络信息的主要工具。在这种趋势下出现了各式各样的搜索引擎。网络上有一类文档包含了大量信息,这类文档包括word、powerpoint、excel等等。虽然目前存在一些专业的文档搜索引擎比如北大天网FTP文件搜索引擎,但这类搜索引擎的检索范围仅限于FTP文档,并且只能对文件名进行检索而无法对文档内容进行检索。尽管有少数的大型专业搜索引擎如baidu、google实现了对文档内容进行检索的功能,但这些搜索引擎并不是针对文档的搜索引擎,它们通过解析HTTP页面的方式来搜集文档,而不支持对FTP服务器上的文档资源的搜集,因而损失了大量的资源。此外,对于日益增长的海量网络数据,检索结果本身就是一个很大的集合,用户很难从这个大集合中有效地获取信息,因此用户需要更具体更客户化的搜索引擎。本文设计和实现的中英文文档全文搜索引擎不同于现有的搜索引擎。该文档搜索引擎对海量网络数据提供了简化性整合,可以灵活地与垂直搜索等技术相结合。该搜索引擎可以被应用到特定的领域比如对特定网站的文档资源的检索、对特定行业的文档资源的检索等等。该系统一方面弥补了现有文档搜索引擎信息量匮乏的缺陷;另一方面,系统“硬件要求低、简洁、灵活、可配置”的特点使其可以方便地应用到各种具有专门需求的全文检索领域。本文重点介绍和实现了以下一些方面:1.系统的总体设计;为提高性能和可扩展性所做的一些局部设计。2. HTTP和FTP爬虫系统。设计并实现了用于抓取特定文档(word, powerpoint, excel)的HTTP和FTP爬虫系统。详细描述了HTTP爬虫的总体架构设计、运行流程、重要组件DNS cache的设计与实现。阐述了URL去重策略的设计与实现、Polite Nice抓取处理策略的设计与实现、HTML页面解析过程的设计与实现、文档抓取过程的设计与实现。阐述了FTP爬虫系统的总体设计和性能优化方案。阐述了爬虫系统的文件去重功能的设计及实现、文档解析系统的接口设计及实现。3.基于apache POI的文档解析模块。介绍了模块总体设计、具体实现、存储优化策略。4.基于lucene的检索模块和UI模块。介绍了lucene的原理,结合web技术阐述了检索模块和UI模块的设计思路和实现方法。文章最后对系统的工作效果和性能进行了简单评测,对系统未来的工作进行了分析和展望,提出了一些优化方案。