国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于雙層PDF和Lucene技術(shù)的全文檢索研究與實現(xiàn)

2014-08-18 12:20向禹吳世明
現(xiàn)代情報 2014年6期
關(guān)鍵詞:全文檢索檔案管理

向禹+吳世明

〔摘要〕通過建設(shè)雙層PDF全文數(shù)據(jù)庫、創(chuàng)建索引和全文檢索等實現(xiàn)過程來闡述相關(guān)技術(shù)的研究和運用。以建設(shè)全文數(shù)據(jù)庫為基礎(chǔ),研究結(jié)構(gòu)化信息與非結(jié)構(gòu)化數(shù)據(jù)的合并管理,對目錄數(shù)據(jù)和全文數(shù)據(jù)的同步索引,基于Lucene技術(shù),實現(xiàn)檔案管理系統(tǒng)的一站式智能化檔案全文檢索,提升檔案查全率。

〔關(guān)鍵詞〕雙層PDF;全文檢索;檔案管理;Lucene

〔中圖分類號〕TP391〔文獻標識碼〕B〔文章編號〕1008-0821(2014)06-0075-04

由于檔案的憑證性、惟一性和不可替代性,導(dǎo)致用戶和檔案行業(yè)更注重查全率。傳統(tǒng)的檔案管理手段,由于對標引和著錄標準的理解、執(zhí)行和操作、人員責(zé)任心等方面的差異,導(dǎo)致著錄信息和檢索效果不盡人意?;贚ucene技術(shù),依托雙層PDF文檔,對結(jié)構(gòu)化和非結(jié)構(gòu)化信息合并管理,在檔案管理系統(tǒng)中實現(xiàn)一站式全文檢索,具有很重要的現(xiàn)實意義。

1檔案檢索研究現(xiàn)狀

傳統(tǒng)檔案檢索,主要是對檔案信息著錄和標引進行研究,編制檢索目錄和目錄檢索系統(tǒng),常見的檢索工具有主題、分類、字序、文號等多種方式,檢索系統(tǒng)有簡單檢索、復(fù)合邏輯組配表達式檢索等。著錄和標引質(zhì)量提高,檢索工具完備均能提高查全率,但存在缺陷,且效率較低。要實現(xiàn)高查全率,必須研究在檔案文檔中實現(xiàn)內(nèi)容檢索。

Lucene是一個非常優(yōu)秀的全文本型檢索框架[1],在文本型的全文檢索方面得到廣泛的支持和運用;然而,對紙質(zhì)檔案進行數(shù)字化掃描加工,最好的存儲方式仍為圖片格式的非文本型文檔,要實現(xiàn)全文檢索并非易事;基于圖像的檢索技術(shù)的研究也還不成熟,效果并不理想。

2全文檢索思想與技術(shù)

檔案資源數(shù)據(jù)有多種類型:一是結(jié)構(gòu)化數(shù)據(jù),有固定格式和長度,如數(shù)據(jù)庫或者元數(shù)據(jù),數(shù)據(jù)表格等;二是非結(jié)構(gòu)化數(shù)據(jù),特點是不定長和無固定格式,如Word、PDF、JPG等文檔;三是半結(jié)構(gòu)化數(shù)據(jù),如XML、HTML等,這類數(shù)據(jù)比較靈活,可根據(jù)需要按結(jié)構(gòu)化處理,也可按非結(jié)構(gòu)化處理,在使用Web Service方式的系統(tǒng)集成對接時,協(xié)議中采用的數(shù)據(jù)傳輸格式大多為XML。對于結(jié)構(gòu)化的語句,采用SQL語句很容易實現(xiàn)檢索。非結(jié)構(gòu)化的數(shù)據(jù),通常稱作全文數(shù)據(jù),檢索方式有兩種[2]:一種是順序掃描法,對每一個文檔都從頭至尾進行掃描,搜索出包含檢索詞的文檔,如Windows系統(tǒng)中的查找功能,但這種方式,搜索效率低,速度慢;另一種方式便是我們要重點討論的全文檢索。

2.1全文檢索思想

由于結(jié)構(gòu)化的數(shù)據(jù)格式是有規(guī)律的,用算法容易實現(xiàn)很高的檢索效率。全文檢索的基本思想便是:把全文數(shù)據(jù)中信息提取出來,重新進行組織成索引,使其結(jié)構(gòu)化規(guī)律化,再按一定的算法對其進行檢索。從過程上來看,可簡單地分為索引和檢索兩個過程,但在實際處理過程中,包含的模塊構(gòu)成有:前端查詢平臺、中文分詞、解析引擎、后臺管理等。

2.2雙層PDF技術(shù)

非結(jié)構(gòu)化的數(shù)據(jù),又分為文本型和非文本型。對于文本型或者超文本型的文檔,全文檢索的研究應(yīng)用已經(jīng)比較廣泛和成熟。而非文本型的文檔無法直接實現(xiàn)全文檢索,雙層PDF文檔技術(shù)便是解決這一問題的最佳方式之一。

雙層PDF文件是一種包含Text層和Image層的多層結(jié)構(gòu)PDF文件,兩層內(nèi)容位置上相對應(yīng),Image層是原始圖像,保留了原始檔案的效果;Text層是Image層的OCR識別結(jié)果,支持選擇、檢索和復(fù)制等功能。通過程序控制可實現(xiàn)兩個圖層的任意顯示和切換,可實現(xiàn)檢索詞的精確定位。雙層PDF文檔可以是圖像型通過檔案數(shù)字加掃描加工而成;也可以是文本型,通過文本文件如WORD轉(zhuǎn)換。

2.3全文檢索引擎Lucene

Lucene是目前最為流行的基于Java開源全文檢索工具包[3]。它并不是一個完整的搜索程序[4],不能直接嵌入系統(tǒng)中使用;而是一個類庫,一種思想和架構(gòu)。Lucene提供簡單的工具包,方便軟件開發(fā)人員在應(yīng)用系統(tǒng)中實現(xiàn)全文檢索功能。Lucene具備五大優(yōu)點[5]:索引文件格式獨立于應(yīng)用平臺;可分塊索引,為增量文件建立小索引,通過與原索引合并,提升效率;面向?qū)ο蟮募軜?gòu),便于擴充;獨立的文本分析接口,與語言和文件格式無關(guān);具備強大的查詢引擎,包括布爾邏輯、分組查詢、模糊查詢等,開發(fā)人員無需再編寫代碼。

Lucene的源碼由7個模塊(包)組成:分詞模塊、索引管理、檢索管理、數(shù)據(jù)存儲管理、查詢分析器及公用類庫。為了對文檔進行索引,Lucene提供了5個基礎(chǔ)的類,Document、Field、IndexWriter、Analyzer、Directory。全文檢索系統(tǒng)功能強大,實現(xiàn)起來也比較復(fù)雜,但從實現(xiàn)過程來看,主要分為索引和檢索兩大功能。

3全文檢索的實現(xiàn)

主要運用lucene技術(shù),基于PDF文檔,對中文分詞、解析引擎、索引、過濾、專業(yè)詞庫等方面進行了重構(gòu)與優(yōu)化,由前端查詢、索引模塊、分詞、搜索引擎、后臺管理等模塊構(gòu)成。通過全文檢索的分詞系統(tǒng)、索引系統(tǒng)、引擎系統(tǒng)將海量數(shù)據(jù)快速展現(xiàn)在用戶面前,并支持多關(guān)鍵詞、同義詞、近義詞等檢索。

3.1創(chuàng)建雙層PDF全文數(shù)據(jù)庫

建設(shè)雙層PDF全文數(shù)據(jù)庫是實現(xiàn)全文檢索的基礎(chǔ),減少對紙質(zhì)檔案的使用,從某種意義上來說,也保護了紙質(zhì)檔案。市場上已經(jīng)有許多產(chǎn)品或者生產(chǎn)線,可以實現(xiàn)檔案的雙層PDF數(shù)字化加工。在檔案數(shù)字化加工過程中,將紙質(zhì)檔案掃描加工后的圖片轉(zhuǎn)換處理成雙層PDF文檔,在掛接到檔案管理系統(tǒng)中的相應(yīng)案卷和卷內(nèi)文件目錄之后,原文的存放地址信息自動存入數(shù)據(jù)庫的原文關(guān)系表中,通過ID號(Recid)與案卷和卷內(nèi)文件目錄Recid對應(yīng),對檔案文檔的Text層文本內(nèi)容及其元數(shù)據(jù)等相關(guān)信息建立永久聯(lián)系,形成數(shù)據(jù)包。

基于節(jié)約成本和利于管理考慮,對雙層PDF文檔進行了格式固化,它的Image層是圖片格式,與原文件保持一致,可以閱讀和打印;Text層支持內(nèi)容自由復(fù)制。為了使系統(tǒng)處理數(shù)據(jù)方便,我們通過后臺程序把上傳的其他文本格式的文檔也自動轉(zhuǎn)換成雙層PDF文檔。雙層PDF全文數(shù)據(jù)庫不僅為檔案在線編研、數(shù)據(jù)挖掘、開展檔案主動服務(wù)等打下了基礎(chǔ),全文數(shù)據(jù)直接利用還使檔案得到保護和永久性保存。endprint

3.2創(chuàng)建索引

數(shù)字化加工后的雙層PDF文件和數(shù)據(jù)包通過調(diào)用全文檢索子系統(tǒng)內(nèi)核函數(shù)建立對應(yīng)的索引文件,抓取和解析數(shù)據(jù)。本系統(tǒng)中的創(chuàng)建索引的過程,實際上就是將雙層PDF文檔中的text層、文檔對應(yīng)的卷內(nèi)目錄和案卷目錄及有關(guān)元數(shù)據(jù)(也可以說是結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù))信息提取并創(chuàng)建索引文件的過程。目前,主要有3種索引技術(shù):簽名、后綴數(shù)組、倒排文檔。Lucene采用的是倒排文檔,倒排文檔的性能和效率都非常高,因而被廣泛采用。

索引過程可分為4個階段:準備待索引文檔和數(shù)據(jù);對文檔進行語法分析和語言處理形成一系列詞(Term);經(jīng)過處理形成詞典和倒排文檔(索引);通過存儲過程將索引寫入索引庫。具體過程分析如下:

(1)建立索引器indexWriter,生成index對象,把Document對象加到索引中來。

(2)建立信息字段對象Field,描述文檔的屬性,如文件標題和內(nèi)容可以用兩個Field對象分別描述。

(3)建立文檔對象Document,用來描述文檔,內(nèi)容可以從DOC、EXCEL、TXT、HTML、XML等文檔及關(guān)系型數(shù)據(jù)庫等多種途徑獲得,一個Document對象由多個Field對象組成的。也可以把一個Document對象看作數(shù)據(jù)庫中的一個記錄,而每個Field對象就是記錄的一個字段。我們通過編寫Object2DocumentUtil.class類來實現(xiàn)數(shù)據(jù)對象與Document對象的轉(zhuǎn)換。

在文檔被索引之前,首先需要對文檔內(nèi)容進行分詞處理,這部分工作就是由Analyzer類來完成。Analyzer類是一個抽象類,它有多個實現(xiàn),針對不同的語言和應(yīng)用需要可以選擇適合的Analyzer,本系統(tǒng)中采用的是StandardAnalyzer。Analyzer把分詞后的內(nèi)容交給IndexWriter來建立索引。在分詞時,如果用來進行索引的文檔不是純文本,先使用OCR或者其它技術(shù)轉(zhuǎn)換成純文本才能再進行操作。值得注意的是,同一索引,用來建立索引與查詢的分詞器必須是同一個,才能保證得到正確的查詢結(jié)果。

(4)將Field添加到Document里面,再將Document添加到IndexWriter里面。

(5)優(yōu)化indexWriter對象,Directory類代表了本系統(tǒng)索引的存儲位置,它是一個抽象類,有兩個實現(xiàn):一個是FSDirectory,它表示一個存儲在文件系統(tǒng)中的索引的位置;其次是RAMDirectory,它表示一個存儲在內(nèi)存當中的索引的位置。

創(chuàng)建索引的方法如下:

public void createIndexWriter(String sDir){try{

boolean flag=true;∥標記是否重新建立索引,true為重新建立索引,false表示增量索引

File indexDir=new File(sDir);∥索引文件存放目錄

Directory dir=SimpleFSDirectory.open(indexDir);∥創(chuàng)建Directory

Analyzer sAnalyzer=new StandardAnalyzer(Version.LUCENE30);∥分詞器

indexWriter=new IndexWriter(dir,sAnalyzer,flag,MaxFieldLength.UNLIMITED);∥索引工廠

}catch(Exception e){logger.error(″indexWriter Exception:″,e);}}

索引創(chuàng)建成功后便生成索引文件,一個索引(index)存放在一個文件夾中,比如文書類的行政檔案卷內(nèi)文件索引為E:/index/T319。基于lucene技術(shù)的全文檢索,根據(jù)不同的配置會產(chǎn)生不同的文件,本系統(tǒng)中的行政卷內(nèi)文件索引如表1所示。

0.cfx復(fù)合文件,當compound啟用時,被多個段(Segment)共享的單獨文件集添加進獨立的compound文件,擴展名為cfx;

2fnm保存域(Field)的元數(shù)據(jù)信息,一個段包含多個域,每個域都有元數(shù)據(jù)信息;

2frq詞語頻率數(shù)據(jù)文件,記錄了詞語所在文檔的文檔列表(docID)和應(yīng)該詞語出現(xiàn)在文檔中的頻率信息;

3.3索引管理

查看索引,讀取指定路徑索引中是否存在;索引中包含的文檔,詞條情況,是否需經(jīng)過優(yōu)化等;最后一次修改的時間,路徑信息,含有的文檔數(shù)目等;讀取索引詞條相關(guān)基本信息。

刪除索引,刪除指定序號的文檔之后,自動刪除對應(yīng)的索引文件,編寫方法delete(IndexData indexData){}來實現(xiàn);恢復(fù)被刪除的文檔及索引。

更新索引,更新索引中的某個文檔;索引同步處理,用戶可根據(jù)需要自己定制創(chuàng)建索引時間,可定時或?qū)崟r更新。增量索引、保存索引、修改索引分別編寫方法incrementIndexWriter(String sDir){}、save(IndexData indexData){}、update(IndexData){}調(diào)用lucene相應(yīng)的類,在更新索引時,采用方法closeIndexWriter()來關(guān)閉IndexWriter。特別是在update方法中采用indexWriter.updateDocument(term,Object2DocumentUtil.object2document(indexData))來實現(xiàn),當數(shù)據(jù)量很大時,采用“刪除再創(chuàng)建”效率更高,updateDocument等價于delete(indexData)+save(indexData)。

3.4檢索過程及結(jié)果處理endprint

全文檢索在程序內(nèi)部實際上是一個復(fù)雜的過程,通過分析,可總結(jié)為以下步驟:用戶輸入查詢語句;詞法分析和語言處理;搜索索引,得到符合條件的文檔;對結(jié)果的相關(guān)性進行排序;將查詢結(jié)果返回給用戶界面。

采用計分器QueryScorer qs來記錄結(jié)果的相關(guān)性(權(quán)重值),根據(jù)權(quán)重值大小在界面上進行排序;采用Lucene處理關(guān)鍵字高亮顯示;Highlighter利用段劃分器Fragmenter將原始文本分割成多個片段,片段默認的大小為100個字符,將包含檢索詞的片段顯示在檢索結(jié)果中,便于用戶瀏覽查看選擇。系統(tǒng)還需進行特殊字符過濾、多重排序、結(jié)果分頁等處理。

3.5原文瀏覽

通過檢索過程,在用戶界面得到了查詢結(jié)果。接下來,需要瀏覽PDF原文,并查出檢索詞在原文中的具體位置。我們使用Acrobat Reader,結(jié)合檔案管理系統(tǒng),來實現(xiàn)檢索詞在原文中的自動定位。Reader軟件本身對雙層PDF文檔的查找、文本復(fù)制、雙層切換等功能都提供了支持,“搜索”窗口允許在多個PDF查找項目。

在全文檢索頁面,瀏覽PDF全文是通過在頁面內(nèi)嵌套PDF控件的方式實現(xiàn)。通過程序傳遞參數(shù)給PDF控件,實現(xiàn)檢索詞在文檔中的定位。

而在檔案管理系統(tǒng)內(nèi)部,案卷和卷內(nèi)目錄鏈接的全文,需要點擊鏈接,通過管理系統(tǒng)內(nèi)嵌的閱讀器來打開,與全文檢索頁面的實現(xiàn)有些區(qū)別。

4一站式智能檢索設(shè)計

檔案管理系統(tǒng)必須具備專業(yè)檢索和一站式智能檢索等檢索途徑,專業(yè)檢索提供更為復(fù)雜的邏輯表達式組配,適合檔案人員處理復(fù)雜用戶需求時使用;而一站式檢索帶來的是便捷的用戶體驗,檔案用戶不必了解具體的檔案分類和細節(jié),通過一個檢索入口便可以獲得所需的信息。

包含全文檢索的一站式檢索具備異構(gòu)檔案資源庫和分布式資源庫處理能力,對結(jié)構(gòu)化與非結(jié)構(gòu)化信息合并管理,對目錄數(shù)據(jù)和原文必須進行同步索引。首先通過JDBC(Java Data Base Connectivity)連接數(shù)據(jù)庫找到要索引的門類,通過卷內(nèi)文件目錄和案卷目錄的ID號(Recid),查找原文關(guān)系表中的Recid,原文表中的這條記錄有文件存放路徑(Filepath)等信息,然后根據(jù)信息找到對應(yīng)的原文(雙層PDF文檔),這樣便可以對目錄數(shù)據(jù)和原文進行同步索引。接下來,指定生成Index目錄。而在檢索時,只需要對索引進行訪問,便可以很快的在各類檔案目錄庫和全文庫檢索到用戶需要的信息。

5實現(xiàn)效果

通過測試,系統(tǒng)自動從索引中檢索出相關(guān)的信息,如果檢索詞包含在文檔中,系統(tǒng)還使檢索詞在文檔中自動定位,免去翻頁查找的麻煩。若要縮小檢索范圍,只需要再增加檢索詞,檢索詞之間默認為邏輯“AND”的關(guān)系,檢索結(jié)果按相關(guān)度排序,根據(jù)文檔片段值的大小,將包含檢索詞的文檔片段內(nèi)容顯示在檢索結(jié)果界面,供用戶瀏覽。

運行表明,基于雙層PDF文檔技術(shù)的一站式全文檢索,提高了工作效率。通過對跨數(shù)據(jù)表,跨數(shù)據(jù)類型,案卷、卷內(nèi)目錄數(shù)據(jù)和雙層PDF的Text層同步索引,查詢時訪問索引而不訪問數(shù)據(jù)庫,有效減輕數(shù)據(jù)庫和系統(tǒng)的壓力。系統(tǒng)可以支持1 000萬級的數(shù)據(jù),毫秒級的響應(yīng)時間,每秒500人的并發(fā)訪問;可以適應(yīng)不同的操作系統(tǒng)平臺,支持多種數(shù)據(jù)庫接口;具備通用搜索引擎的構(gòu)架和功能,用戶可任意輸入檢索信息,可多關(guān)鍵字、關(guān)鍵詞組合搜索。

全文檢索是檔案管理系統(tǒng)中很重要的檢索途徑,彌補了目錄檢索的不足,也解決了目錄著錄不全、不規(guī)范等問題,大幅度提高了查全率。全文檢索無須編制任何檢索目錄,完全實現(xiàn)智能化、高效率檢索,極大地提高了工作效率。雖然不同的檔案管理系統(tǒng)可能會采用不同的編程語言和技術(shù)架構(gòu)來實現(xiàn),對Lucene規(guī)范中的技術(shù)取舍、采用和配置各有不同,但遵循Lucence架構(gòu)的雙層PDF全文檢索的總體實現(xiàn)思想大同小異。雙層PDF全文數(shù)據(jù)庫為檔案編研和數(shù)據(jù)挖掘提供了資源[6];也為檔案信息聚合(RSS)的研究、定向主動的檔案信息服務(wù)研究或者更深層次的檔案服務(wù)成為可能。

參考文獻

[1]管建和,甘劍峰.基于Lucene 全文檢索引擎的應(yīng)用研究與實現(xiàn)[J].計算機工程與設(shè)計,2007,(2):489-491.

[2]forfuture1978.Lucene學(xué)習(xí)總結(jié)之一:全文檢索的基本原理[EB/OL].http:∥forfuture1978.iteye.com/.

[3]胡長春.基于Lucene的中文自然語言搜索引擎[D].上海:上海交通大學(xué),2009:32-35.

[4]解鵬飛.Lucene搜索引擎技術(shù)在國家海洋數(shù)字檔案館示范系統(tǒng)中的實現(xiàn)及應(yīng)用[J].海洋環(huán)境科學(xué),2008,(8):117-121.

[5]yingsuixindong.全文檢索引擎Lucene優(yōu)點[EB/OL].http:∥blog.csdn.net/yingsuixindong/article/details/5580983.

[6]向禹.基于SOA架構(gòu)的高校檔案資源管理系統(tǒng)設(shè)計與實現(xiàn)[D].長沙:中南大學(xué),2013:61-67.

(本文責(zé)任編輯:馬卓)endprint

全文檢索在程序內(nèi)部實際上是一個復(fù)雜的過程,通過分析,可總結(jié)為以下步驟:用戶輸入查詢語句;詞法分析和語言處理;搜索索引,得到符合條件的文檔;對結(jié)果的相關(guān)性進行排序;將查詢結(jié)果返回給用戶界面。

采用計分器QueryScorer qs來記錄結(jié)果的相關(guān)性(權(quán)重值),根據(jù)權(quán)重值大小在界面上進行排序;采用Lucene處理關(guān)鍵字高亮顯示;Highlighter利用段劃分器Fragmenter將原始文本分割成多個片段,片段默認的大小為100個字符,將包含檢索詞的片段顯示在檢索結(jié)果中,便于用戶瀏覽查看選擇。系統(tǒng)還需進行特殊字符過濾、多重排序、結(jié)果分頁等處理。

3.5原文瀏覽

通過檢索過程,在用戶界面得到了查詢結(jié)果。接下來,需要瀏覽PDF原文,并查出檢索詞在原文中的具體位置。我們使用Acrobat Reader,結(jié)合檔案管理系統(tǒng),來實現(xiàn)檢索詞在原文中的自動定位。Reader軟件本身對雙層PDF文檔的查找、文本復(fù)制、雙層切換等功能都提供了支持,“搜索”窗口允許在多個PDF查找項目。

在全文檢索頁面,瀏覽PDF全文是通過在頁面內(nèi)嵌套PDF控件的方式實現(xiàn)。通過程序傳遞參數(shù)給PDF控件,實現(xiàn)檢索詞在文檔中的定位。

而在檔案管理系統(tǒng)內(nèi)部,案卷和卷內(nèi)目錄鏈接的全文,需要點擊鏈接,通過管理系統(tǒng)內(nèi)嵌的閱讀器來打開,與全文檢索頁面的實現(xiàn)有些區(qū)別。

4一站式智能檢索設(shè)計

檔案管理系統(tǒng)必須具備專業(yè)檢索和一站式智能檢索等檢索途徑,專業(yè)檢索提供更為復(fù)雜的邏輯表達式組配,適合檔案人員處理復(fù)雜用戶需求時使用;而一站式檢索帶來的是便捷的用戶體驗,檔案用戶不必了解具體的檔案分類和細節(jié),通過一個檢索入口便可以獲得所需的信息。

包含全文檢索的一站式檢索具備異構(gòu)檔案資源庫和分布式資源庫處理能力,對結(jié)構(gòu)化與非結(jié)構(gòu)化信息合并管理,對目錄數(shù)據(jù)和原文必須進行同步索引。首先通過JDBC(Java Data Base Connectivity)連接數(shù)據(jù)庫找到要索引的門類,通過卷內(nèi)文件目錄和案卷目錄的ID號(Recid),查找原文關(guān)系表中的Recid,原文表中的這條記錄有文件存放路徑(Filepath)等信息,然后根據(jù)信息找到對應(yīng)的原文(雙層PDF文檔),這樣便可以對目錄數(shù)據(jù)和原文進行同步索引。接下來,指定生成Index目錄。而在檢索時,只需要對索引進行訪問,便可以很快的在各類檔案目錄庫和全文庫檢索到用戶需要的信息。

5實現(xiàn)效果

通過測試,系統(tǒng)自動從索引中檢索出相關(guān)的信息,如果檢索詞包含在文檔中,系統(tǒng)還使檢索詞在文檔中自動定位,免去翻頁查找的麻煩。若要縮小檢索范圍,只需要再增加檢索詞,檢索詞之間默認為邏輯“AND”的關(guān)系,檢索結(jié)果按相關(guān)度排序,根據(jù)文檔片段值的大小,將包含檢索詞的文檔片段內(nèi)容顯示在檢索結(jié)果界面,供用戶瀏覽。

運行表明,基于雙層PDF文檔技術(shù)的一站式全文檢索,提高了工作效率。通過對跨數(shù)據(jù)表,跨數(shù)據(jù)類型,案卷、卷內(nèi)目錄數(shù)據(jù)和雙層PDF的Text層同步索引,查詢時訪問索引而不訪問數(shù)據(jù)庫,有效減輕數(shù)據(jù)庫和系統(tǒng)的壓力。系統(tǒng)可以支持1 000萬級的數(shù)據(jù),毫秒級的響應(yīng)時間,每秒500人的并發(fā)訪問;可以適應(yīng)不同的操作系統(tǒng)平臺,支持多種數(shù)據(jù)庫接口;具備通用搜索引擎的構(gòu)架和功能,用戶可任意輸入檢索信息,可多關(guān)鍵字、關(guān)鍵詞組合搜索。

全文檢索是檔案管理系統(tǒng)中很重要的檢索途徑,彌補了目錄檢索的不足,也解決了目錄著錄不全、不規(guī)范等問題,大幅度提高了查全率。全文檢索無須編制任何檢索目錄,完全實現(xiàn)智能化、高效率檢索,極大地提高了工作效率。雖然不同的檔案管理系統(tǒng)可能會采用不同的編程語言和技術(shù)架構(gòu)來實現(xiàn),對Lucene規(guī)范中的技術(shù)取舍、采用和配置各有不同,但遵循Lucence架構(gòu)的雙層PDF全文檢索的總體實現(xiàn)思想大同小異。雙層PDF全文數(shù)據(jù)庫為檔案編研和數(shù)據(jù)挖掘提供了資源[6];也為檔案信息聚合(RSS)的研究、定向主動的檔案信息服務(wù)研究或者更深層次的檔案服務(wù)成為可能。

參考文獻

[1]管建和,甘劍峰.基于Lucene 全文檢索引擎的應(yīng)用研究與實現(xiàn)[J].計算機工程與設(shè)計,2007,(2):489-491.

[2]forfuture1978.Lucene學(xué)習(xí)總結(jié)之一:全文檢索的基本原理[EB/OL].http:∥forfuture1978.iteye.com/.

[3]胡長春.基于Lucene的中文自然語言搜索引擎[D].上海:上海交通大學(xué),2009:32-35.

[4]解鵬飛.Lucene搜索引擎技術(shù)在國家海洋數(shù)字檔案館示范系統(tǒng)中的實現(xiàn)及應(yīng)用[J].海洋環(huán)境科學(xué),2008,(8):117-121.

[5]yingsuixindong.全文檢索引擎Lucene優(yōu)點[EB/OL].http:∥blog.csdn.net/yingsuixindong/article/details/5580983.

[6]向禹.基于SOA架構(gòu)的高校檔案資源管理系統(tǒng)設(shè)計與實現(xiàn)[D].長沙:中南大學(xué),2013:61-67.

(本文責(zé)任編輯:馬卓)endprint

全文檢索在程序內(nèi)部實際上是一個復(fù)雜的過程,通過分析,可總結(jié)為以下步驟:用戶輸入查詢語句;詞法分析和語言處理;搜索索引,得到符合條件的文檔;對結(jié)果的相關(guān)性進行排序;將查詢結(jié)果返回給用戶界面。

采用計分器QueryScorer qs來記錄結(jié)果的相關(guān)性(權(quán)重值),根據(jù)權(quán)重值大小在界面上進行排序;采用Lucene處理關(guān)鍵字高亮顯示;Highlighter利用段劃分器Fragmenter將原始文本分割成多個片段,片段默認的大小為100個字符,將包含檢索詞的片段顯示在檢索結(jié)果中,便于用戶瀏覽查看選擇。系統(tǒng)還需進行特殊字符過濾、多重排序、結(jié)果分頁等處理。

3.5原文瀏覽

通過檢索過程,在用戶界面得到了查詢結(jié)果。接下來,需要瀏覽PDF原文,并查出檢索詞在原文中的具體位置。我們使用Acrobat Reader,結(jié)合檔案管理系統(tǒng),來實現(xiàn)檢索詞在原文中的自動定位。Reader軟件本身對雙層PDF文檔的查找、文本復(fù)制、雙層切換等功能都提供了支持,“搜索”窗口允許在多個PDF查找項目。

在全文檢索頁面,瀏覽PDF全文是通過在頁面內(nèi)嵌套PDF控件的方式實現(xiàn)。通過程序傳遞參數(shù)給PDF控件,實現(xiàn)檢索詞在文檔中的定位。

而在檔案管理系統(tǒng)內(nèi)部,案卷和卷內(nèi)目錄鏈接的全文,需要點擊鏈接,通過管理系統(tǒng)內(nèi)嵌的閱讀器來打開,與全文檢索頁面的實現(xiàn)有些區(qū)別。

4一站式智能檢索設(shè)計

檔案管理系統(tǒng)必須具備專業(yè)檢索和一站式智能檢索等檢索途徑,專業(yè)檢索提供更為復(fù)雜的邏輯表達式組配,適合檔案人員處理復(fù)雜用戶需求時使用;而一站式檢索帶來的是便捷的用戶體驗,檔案用戶不必了解具體的檔案分類和細節(jié),通過一個檢索入口便可以獲得所需的信息。

包含全文檢索的一站式檢索具備異構(gòu)檔案資源庫和分布式資源庫處理能力,對結(jié)構(gòu)化與非結(jié)構(gòu)化信息合并管理,對目錄數(shù)據(jù)和原文必須進行同步索引。首先通過JDBC(Java Data Base Connectivity)連接數(shù)據(jù)庫找到要索引的門類,通過卷內(nèi)文件目錄和案卷目錄的ID號(Recid),查找原文關(guān)系表中的Recid,原文表中的這條記錄有文件存放路徑(Filepath)等信息,然后根據(jù)信息找到對應(yīng)的原文(雙層PDF文檔),這樣便可以對目錄數(shù)據(jù)和原文進行同步索引。接下來,指定生成Index目錄。而在檢索時,只需要對索引進行訪問,便可以很快的在各類檔案目錄庫和全文庫檢索到用戶需要的信息。

5實現(xiàn)效果

通過測試,系統(tǒng)自動從索引中檢索出相關(guān)的信息,如果檢索詞包含在文檔中,系統(tǒng)還使檢索詞在文檔中自動定位,免去翻頁查找的麻煩。若要縮小檢索范圍,只需要再增加檢索詞,檢索詞之間默認為邏輯“AND”的關(guān)系,檢索結(jié)果按相關(guān)度排序,根據(jù)文檔片段值的大小,將包含檢索詞的文檔片段內(nèi)容顯示在檢索結(jié)果界面,供用戶瀏覽。

運行表明,基于雙層PDF文檔技術(shù)的一站式全文檢索,提高了工作效率。通過對跨數(shù)據(jù)表,跨數(shù)據(jù)類型,案卷、卷內(nèi)目錄數(shù)據(jù)和雙層PDF的Text層同步索引,查詢時訪問索引而不訪問數(shù)據(jù)庫,有效減輕數(shù)據(jù)庫和系統(tǒng)的壓力。系統(tǒng)可以支持1 000萬級的數(shù)據(jù),毫秒級的響應(yīng)時間,每秒500人的并發(fā)訪問;可以適應(yīng)不同的操作系統(tǒng)平臺,支持多種數(shù)據(jù)庫接口;具備通用搜索引擎的構(gòu)架和功能,用戶可任意輸入檢索信息,可多關(guān)鍵字、關(guān)鍵詞組合搜索。

全文檢索是檔案管理系統(tǒng)中很重要的檢索途徑,彌補了目錄檢索的不足,也解決了目錄著錄不全、不規(guī)范等問題,大幅度提高了查全率。全文檢索無須編制任何檢索目錄,完全實現(xiàn)智能化、高效率檢索,極大地提高了工作效率。雖然不同的檔案管理系統(tǒng)可能會采用不同的編程語言和技術(shù)架構(gòu)來實現(xiàn),對Lucene規(guī)范中的技術(shù)取舍、采用和配置各有不同,但遵循Lucence架構(gòu)的雙層PDF全文檢索的總體實現(xiàn)思想大同小異。雙層PDF全文數(shù)據(jù)庫為檔案編研和數(shù)據(jù)挖掘提供了資源[6];也為檔案信息聚合(RSS)的研究、定向主動的檔案信息服務(wù)研究或者更深層次的檔案服務(wù)成為可能。

參考文獻

[1]管建和,甘劍峰.基于Lucene 全文檢索引擎的應(yīng)用研究與實現(xiàn)[J].計算機工程與設(shè)計,2007,(2):489-491.

[2]forfuture1978.Lucene學(xué)習(xí)總結(jié)之一:全文檢索的基本原理[EB/OL].http:∥forfuture1978.iteye.com/.

[3]胡長春.基于Lucene的中文自然語言搜索引擎[D].上海:上海交通大學(xué),2009:32-35.

[4]解鵬飛.Lucene搜索引擎技術(shù)在國家海洋數(shù)字檔案館示范系統(tǒng)中的實現(xiàn)及應(yīng)用[J].海洋環(huán)境科學(xué),2008,(8):117-121.

[5]yingsuixindong.全文檢索引擎Lucene優(yōu)點[EB/OL].http:∥blog.csdn.net/yingsuixindong/article/details/5580983.

[6]向禹.基于SOA架構(gòu)的高校檔案資源管理系統(tǒng)設(shè)計與實現(xiàn)[D].長沙:中南大學(xué),2013:61-67.

(本文責(zé)任編輯:馬卓)endprint

猜你喜歡
全文檢索檔案管理
如何規(guī)范檔案管理
檔案管理中的電子檔案管理
檔案管理與企業(yè)內(nèi)部控制關(guān)系的思考
Oracle數(shù)據(jù)庫全文檢索性能研究
論科研項目檔案管理
基于KySou的全文檢索系統(tǒng)的分析與優(yōu)化
加強工程項目檔案管理的有效途徑
電子檔案管理的一些認識和思考
用JSP調(diào)用Lucene包來實現(xiàn)全文檢索
台南市| 临猗县| 井冈山市| 青神县| 洪雅县| 内黄县| 阿拉善左旗| 武夷山市| 方山县| 惠州市| 新乐市| 五莲县| 湛江市| 贵州省| 黄大仙区| 宁波市| 海阳市| 孝昌县| 新密市| 上杭县| 应城市| 驻马店市| 通山县| 侯马市| 兴海县| 琼海市| 连云港市| 无锡市| 油尖旺区| 天峻县| 江永县| 泰宁县| 子洲县| 惠东县| 赣州市| 英吉沙县| 三明市| 西充县| 高台县| 长白| 彰化县|