Lucene技术在数字化公文全文检索系统中的应用研究

2013-12-20 08:25:02夏敏捷张慎武韩新超
中原工学院学报 2013年5期
关键词:全文检索文档检索

夏敏捷,张慎武,韩新超

(中原工学院,郑州450007)

为使国家行政机关的公文处理规范化、制度化、科学化,国家专门制定了《国家行政机关公文处理办法》[1].公文办理完毕后要进行整理(立卷)、归档,定期向档案部门移交.纸质公文的管理、整理和归档办法经过多年的使用和修订,已相当成熟,完全达到真实、完整、安全、可用和长期保存的要求.

随着计算机应用和互联网的普及,纸质公文逐步数字化,以适应快速查找公文信息的要求.但是,由于数字化公文的处理、管理、整理和归档完全是新的领域,涉及新的技术,数字化公文与纸质公文相比,在真实、安全和长期保存方面存在诸多问题,限制了数字化公文的应用.因此,数字化公文管理需要在每个环节上达到纸质公文管理的要求,才能得到广泛应用.

1 建立数字化公文数据库的必要性

随着电子政务在政府部门的广泛应用,产生出大量繁杂的电子公文,如何从海量的电子公文中找到办公需要的公文,是亟待解决的问题.因此政府部门有必要建立一个数字化公文检索系统.建立数字化公文检索系统的基础是建立数字化公文数据库.

(1)建立数字化公文数据库是完善公文管理制度的需要.适时做好数字化公文管理,不仅是实现办公自动化的需要,更是加强并完善不同载体形式的公文处理的需要.

(2)建立数字化公文数据库是确保数字化公文保真、保密的需要[2].由于数字化公文的形成、处理、收集、积累、整理、归档、保管和利用等各个环节都存在着信息更改、丢失的可能性,因此,加强对数字化公文的管理,并相应地建立一套科学、合理、严密的管理制度,从每一个环节堵塞信息失真的隐患,对于维护数字化公文的原始性、真实性是非常重要的.

2 数字化公文数据库的管理

纸质公文的管理由专职人员负责,例如,各部委的司局指定专人负责管理纸质公文.数字化公文数据库也应按照纸质公文的管理方法进行管理.各单位指定专人(软件工程师)负责管理数据库软件,这里称作系统管理员.各部门指定专人负责管理数字化公文数据库,这里称作部门管理员.部门管理员按照职能或业务给本部门用户和用户组授权访问数据库,系统管理员无权给部门用户和用户组授权访问数据库.

数字化公文数据库的特点如下:

(1)将公文的全部内容装入数据库,包括正文、附件和批阅文件(例如 Word、Text、Excel、Pdf、Jpg、Tiff等),不外挂,保证数据的完整性.

(2)无附件或批阅文件,不占存储空间;有附件或批阅文件,占存储空间.有几个附件或批阅文件,就占几个附件或批阅文件的存储空间.可存储任意个附件或批阅文件,无冗余.

(3)将正文、附件和批阅文件的内容(例如 Word、Text、Excel等)全部抽取出来放入数据库.

(4)能够在同一台服务器上建立多个部门的数据库,且各部门数据库相互独立.

3 利用Lucene技术建立数字化公文数据库的优势

传统关系数据库在全文检索时存在一些不足.传统关系数据库在对数据进行检索时,采用逐记录遍历,对每条记录的检索字段进行匹配来实现检索.在数据量比较少时,这种检索方式查找速度快,但是对于海量的电子公文,这种遍历的效率会存在严重问题,反应速度慢是用户不能承受的.

Lucene技术采用倒排索引结构,可以很好地解决信息量庞大的问题.Lucence技术不是由记录来确定属性值,而是由属性值来确定某条记录,所以称为倒排索引.倒排索引的索引对象是文档中的单词,倒排索引文件存储在一个文档或者一组文档中每一个单词出现的位置(文档中的第几个单词),或字符出现的位置(文档中的第几个字符)[3].倒排索引由于在索引时建立了“单词”和“文档”的映射关系,所以检索时间是毫秒级的,能满足用户的检索需要.但需要注意的是,建立倒排索引结构需要大量的时间.

Lucene技术是高性能、可伸缩的信息搜索及开放源代码的全文检索引擎工具包[3],是全文检索引擎的架构,而不是具有完整特征的搜索应用程序.它本身只关注文本的索引和搜索,不管数据源是什么格式,只要它能被转化为文本形式,就可以被Lucene分析利用.也就是说,不管是 Html、Pdf、Word还是其他什么形式的文件,只要可以从中抽取出文字形式的内容,就可以被Lucene索引及搜索.

为减少索引文件的大小,Lucene采用一些压缩算法.首先是对文件中的“单词”进行压缩,“单词”压缩为<前缀长度,后缀>[3].例如:当前词为“中国人”,上一个词为“中国”,那么“中国人”压缩为<2,人>.其次是对数字压缩,数字只保存与上一个值的差值,这样可以减小数字的长度,进而减少保存该数字需要的字节数.例如:当前文档号是15 467(不压缩要用3个字节保存),上一文档号是15461,压缩后保存6(只用一个字节).在这种索引结构下,索引文档通常非常小.

4 基于Lucene的数字化公文全文检索系统总体流程

本系统可实现对各种常见的数字化公文(如Text、Pdf、Word、Excel等格式)进行全文检索.针对政府部门数字化公文全文检索对设计目标和功能的需求,数字化公文全文检索系统总体流程如图1所示.

图1 数字化公文全文检索系统总体流程

整个系统分成3个模块:公文抽取模块、索引模块、搜索模块.公文抽取模块主要是利用一些技术对数据源中的文本数据进行抽取.索引模块负责对存储到Lucene中的公文文本进行内容分词、倒排索引.搜索模块主要按用户输入的查询信息,利用Lucene索引功能找到相关的公文,并按相关程度排序显示搜索结果.

4.1 公文抽取模块

当部门接收到各种格式的数据源,如Text、Pdf、Word、Excel等格式数字化公文时,采用Lucene作为数据库,需要进行文本数据抽取.若数据源是Word和Excel格式,可以采用POI技术来抽取文件中的文本.若数据源是Pdf格式,则采用PdfBox来抽取文件中的文本.这样,不仅将文件的文本信息作为字段存储到Lucene数据库中,同时将文件名、标题、接收日期、发文单位等信息作为相关字段存储到Lucene数据库中.公文抽取和牵引过程如图2所示.

4.2 索引模块

对电子公文中 Text、Word、Pdf、Excel等格式的文件进行有针对性的文本抽取后,索引模块将其转化成为索引的固定格式,方便全文检索系统对内容进行索引和存储,从而支持各种格式文件的全文检索.

图2 公文抽取和索引过程

使用Lucene时,选择一个合适的分词器是非常关键的.分词器就是利用特定的算法把文档中的内容以单词为单位进行划分[4].对分词器的选择没有惟一的标准.系统采用的分词器是极易分词mmseg4j.

建立索引的过程可以通过以下3个步骤来实现[5]:

(1)将不同的数据源组织成一个Document类型的对象;

(2)对要建立索引的数据对象进行分析.在文本索引之前,文本先通过Analyzer进行分析,Analyzer把分词后的内容交给IndexWriter来建立索引;

(3)按照Lucene的索引格式将数据写入索引文件.

4.3 搜索模块

完成数字化公文索引以后,就可以对用户提供搜索服务了.搜索模块负责提供搜索界面,接受用户提供的检索请求,并根据请求访问相应的Lucene索引数据库,最后对检索到的记录集按照相关度进行排序[5],将结果返回给用户.

Lucene支持B/S方式对所有内容进行全文检索,包括对公文正文、附件和批阅文件的所有内容进行全文检索.全文检索能够对字、词、词组、数字、数值进行检索,不需设定关键词.为方便用户检索,Lucene支持以下检索方式:

(1)简单检索.点击相关信息常用项(公文标题、主题词等),得到相应的数据.

(2)高级检索.用户可以通过And、OR逻辑组合查询条件进行检索.

图3 数字化公文搜索结果页面

当用户在图3所示界面中提出搜索请求时,例如“党务”,search.jsp页面的<form>表单会将数据提交给SearchServlet,Lucene语言分析器接受用户请求并进行分词处理,根据搜索词从Lucene中按照某种算法排序,将相关结果信息返回给用户.本系统是按照相关度进行降序排序,相关度排序是使用Sort对象无参数构造函数完成的,文档相关度是基于Lucene中文档的Score和DocID,这在Lucene中也被称为“评分机制”.

搜索的结果是以HTTP消息包的形式发送到用户的浏览器,完成一次搜索操作.搜索结果页面如图3所示.查看搜索到的公文详细内容可单击搜索结果中的标题,如图4所示.

图4 公文详细内容查看

5 结 语

数字化公文全文检索系统建设不是简单地通过电子设备将公文电子化的过程,而是一种管理行为的电子化,其目的是利用数字化的优势来扩展其服务功能,扩大应用范围,提供一个能够超越时间和空间的档案公文共享平台,为社会提供服务.Lucene技术可以对数字化公文数据库管理、用户管理、访问权限、数据库备份、全文检索提供较好的解决方法,提高数据库的安全性和检索准确性.

[1]李燕萍.电子文件的特点及电子档案的管理[J].山西档案,2010(S1):6-7.

[2]徐锐.浅谈办公自动化与电子文档管理[J].黑龙江史志,2012(13):23-25.

[3]沐阳.倒排索引.[EB/OL].[2013-06-11].http://www.cnblogs.com/Lyush/archive/2013/01/11/2856918.html.

[4]陈康,滕育平.中文信息检索引擎的分词与检索技术[J].计算机应用,2004(7):25-29.

[5]陶荣.基于Lucene小型搜索引擎的研究与实现[J].大众科技,2010(2):12-15.

猜你喜欢
全文检索文档检索
有人一声不吭向你扔了个文档
2019年第4-6期便捷检索目录
基于RI码计算的Word复制文档鉴别
Oracle数据库全文检索性能研究
专利检索中“语义”的表现
专利代理(2016年1期)2016-05-17 06:14:36
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
基于KySou的全文检索系统的分析与优化
特色数据库全文检索系统的设计
不让他人随意下载Google文档
电脑迷(2012年4期)2012-04-29 06:12:13
国际标准检索