杨柯 张道平
摘 要:用于沟通和记录的文档对于企业是非常重要的,但是企业在进行文档管理的过程中,经常会碰到以下的问题:文档数量多管理困难、分布零散查找缓慢、文档安全无法保障、文档无法有效协作共享。如何有效的管理和高效的利用已有的文档已经成为一个亟待解决的问题。文章动手打造一套企业内部的文档全文检索系统,来解决以上问题。
关键词:企业内部;全文检索
中图分类号:TP315 文献标识码:A 文章编号:1006-8937(2016)15-0078-02
通用企业文档管理检索系统其核心是对文档的管理和检索,将零散大量的文档像构建图书馆一样分门别类的整合到管理系统中,通过对文档建立的索引来快速高效的查找文档。以此打破传统文档在协作与分享时存在的壁垒,让文档间的沟通和记录更加自由、实时、安全和高效。
1 系统功能描述
文档的有效管理是实现文档高效检索的前提,一个功能完善的文档管理系统在企业内部就相当于一个小型的文档云服务。
文档管理系统的基本功能的就是文档的存储、下载和预览,企业内部通过文档管理系统的唯一入口将零散的文档传递到文档存储服务器来存储,在用户需要时为用户提供文档预览和副本的下载功能。
出于安全考虑,在文档上传到文档存储服务器时,系统会对每个文档做MD5的校验并为用户提供原始校验值以便用户在下载文档后确定文档的完整性。同时MD5信息也会用于文档管理系统判定用户上传的文档在管理系统中是否重复,防止大量存储重复的文档。
在多部门多层级的企业内部,文档权限管理功能确保用户在使用文档管理系统时只能检索、预览和下载与当前用户所具有权限匹配的文档,这样能够有效保证文档内容的安全,防止机密信息的泄露。不同角色和用户也成为了文档的一个重要属性,在检索过程中能够根据不同角色或用户来筛选文档。
文档在不断的使用过程中会持续的进行迭代,传统的文档版本管理仅仅局限于在文档内容中添加文档版本管理表来进行管理,但文档前后做出的修改难以详实记录。在通用企业文档管理检索系统中通过对文档的版本管理让文档的迭代操作更具有实用性。
那么如何进行文档的检索呢?文档属于非结构化数据(全文数据),不能像结构化数据那样简单的存储在数据库中进行查询,一般的检索系统只是根据文档的标题和一些属性来搜索与结果相关的文档,而真正高效的检索文档就要求不能只根据文档标题进行检索,而是需要得到文档的内部信息通过全文检索(Full-text Search)技术来检索文档。
全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文档中出现的次数和位置,当用户检索时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。
通俗的考虑,通过字典的偏旁部首表查找一个生字总会比盲目的翻看整本字典要快。
为了更快的实现文档检索系统我们选用成熟的开源全文检索引擎——Lucene全文检索引擎。Lucene是Apache软件基金会的一个子项目,是一个开放源代码的全文检索引擎工具包,它是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。
也就是说,Lucene只是一个发动机,而要让文档检索系统“跑起来”还需要我们为其打造其他部件。
在建立索引的过程中首先要将源文档转换为文本信息,然后对文本信息进行具有语义化的分词后提供给Lucene存储为能够进行文本查找的全文检索库。
这样我们再通过Lucene进行检索时,Lucene就能根据词出现的频率以及相关度来提供给我们与结果最匹配的文档信息。这里就不在详细描述Lucene检索信息的原理。
2 系统架构设计
文档管理检索系统的功能设计的体现,如图1所示。图中包含了一些提高用户体验的模块,比如文档评分、评论模块用来收集用户对文档的满意度,文档操作日志模块用于记录文档发生任何变化的相关信息。
这个产品架构功能简洁,业务划分明确,方便后续的产品迭代。
在系统的架构设计方面,为达到用户灵活多变的检索需求,系统要充分考虑数据的合理组织,各类数据方便、有效的输入,相关信息的链接和处理,检索功能的设计,以及信息的提供类型和方式。
我们根据系统要实现的功能和最终目标,设计出全文检索系统结构,整个系统分为五部分:检索/管理系统、业务接口、索引服务、文档服务和文档预览服务。
在系统设计上为了提高系统的可重用性和降低系统耦合度,系统整体采用面向服务的体系结构,完全独立的开发部署文档服务接口、索引接口并遵循Restful设计原则以便兼容其他系统。如图2所示。
3 系统展示
前期功能很简单,但随着需求的增加我们可以将文档服务打造成一个独立的“文档云服务”—能够对接企业其他系统并提供相应的文档管理服务。
文档检索方面我们需要在系统的使用中不断优化Lucene全文检索引擎的分词与检索功能,增加文档的相关属性以便缩小检索范围检索结果更精确。如图3所示。
4 结 语
本文研究的重点是如何有效的管理和高效的利用已有的文档,通过构建通用企业文档管理检索系统使企业内部成员可以轻松地打破文档交流的壁垒。在全文检索技术的帮助下更加精准的锁定所需的文档让企业内部的文档在分享中更具有价值。
参考文献:
[1] 张俭恭,陈定权.汉字全文检索系统的关键技术与实现[J].现代图书情 报技术,2001,(2).
[2] 严威,赵政.开发中文搜索引擎汉语处理的关键技术[J].计算机工程,
1999,(25).