论文部分内容阅读
随着本地存储设备容量的增大,文件数量的增多,数据备份系统中的归档集规模也日益庞大。现有的数据备份系统,无论是开源还是商用,归档管理中都缺乏对归档文件按内容搜索的功能,用户在归档集中寻找相关内容的信息时,需要手动在成千上万个归档文件中查阅,严重地降低了信息查找的效率。
本文首次提出将全文搜索与数据备份系统相结合的思路,即在备份文件的同时对文件建立全文索引,最终实现对归档集进行按内容搜索的功能。备份系统对文件的处理是一次扫描的,为了提高性能,我们希望备份和建索引的过程是在一次扫描过程中同步完成的。然而,备份系统中文件是以数据流的形式输入的,备份处理是对数据流中连续的固定大小的数据段分次进行,这意味着一个文件可能要被分成多段处理。现有的开源全文搜索引擎,处理文件时都是以完整文件为处理单位,不支持对文件数据流的多段处理。在数据备份系统中,我们需要的是一个能够支持文件流式全文索引的子模块。
本文介绍了全文搜索引擎原理及中文分词等关键技术,通过分析各种类型的文件格式以及研究开源搜索引擎框架Lucene的内部结构,建立了一个流式全文索引的嵌入模型,然后用半形式化的语言,对数据流及流式嵌入模型的特点进行了分析与描述;在该理论模型的指导下,结合现有技术实现了一个应用原型,该原型支持对文件数据流的分段文本提取和全文索引,并能够作为子模块嵌入到数据备份系统中,使备份与全文索引过程同步,有效地把全文搜索同数据备份系统结合起来,最终实现了对备份生成的归档集进行按内容搜索的功能。本文同时也为有相似需求的领域提供了设计级复用的基础。