楊柯 張道平
摘 要:用于溝通和記錄的文檔對于企業(yè)是非常重要的,但是企業(yè)在進行文檔管理的過程中,經(jīng)常會碰到以下的問題:文檔數(shù)量多管理困難、分布零散查找緩慢、文檔安全無法保障、文檔無法有效協(xié)作共享。如何有效的管理和高效的利用已有的文檔已經(jīng)成為一個亟待解決的問題。文章動手打造一套企業(yè)內(nèi)部的文檔全文檢索系統(tǒng),來解決以上問題。
關(guān)鍵詞:企業(yè)內(nèi)部;全文檢索
中圖分類號:TP315 文獻標識碼:A 文章編號:1006-8937(2016)15-0078-02
通用企業(yè)文檔管理檢索系統(tǒng)其核心是對文檔的管理和檢索,將零散大量的文檔像構(gòu)建圖書館一樣分門別類的整合到管理系統(tǒng)中,通過對文檔建立的索引來快速高效的查找文檔。以此打破傳統(tǒng)文檔在協(xié)作與分享時存在的壁壘,讓文檔間的溝通和記錄更加自由、實時、安全和高效。
1 系統(tǒng)功能描述
文檔的有效管理是實現(xiàn)文檔高效檢索的前提,一個功能完善的文檔管理系統(tǒng)在企業(yè)內(nèi)部就相當于一個小型的文檔云服務(wù)。
文檔管理系統(tǒng)的基本功能的就是文檔的存儲、下載和預覽,企業(yè)內(nèi)部通過文檔管理系統(tǒng)的唯一入口將零散的文檔傳遞到文檔存儲服務(wù)器來存儲,在用戶需要時為用戶提供文檔預覽和副本的下載功能。
出于安全考慮,在文檔上傳到文檔存儲服務(wù)器時,系統(tǒng)會對每個文檔做MD5的校驗并為用戶提供原始校驗值以便用戶在下載文檔后確定文檔的完整性。同時MD5信息也會用于文檔管理系統(tǒng)判定用戶上傳的文檔在管理系統(tǒng)中是否重復,防止大量存儲重復的文檔。
在多部門多層級的企業(yè)內(nèi)部,文檔權(quán)限管理功能確保用戶在使用文檔管理系統(tǒng)時只能檢索、預覽和下載與當前用戶所具有權(quán)限匹配的文檔,這樣能夠有效保證文檔內(nèi)容的安全,防止機密信息的泄露。不同角色和用戶也成為了文檔的一個重要屬性,在檢索過程中能夠根據(jù)不同角色或用戶來篩選文檔。
文檔在不斷的使用過程中會持續(xù)的進行迭代,傳統(tǒng)的文檔版本管理僅僅局限于在文檔內(nèi)容中添加文檔版本管理表來進行管理,但文檔前后做出的修改難以詳實記錄。在通用企業(yè)文檔管理檢索系統(tǒng)中通過對文檔的版本管理讓文檔的迭代操作更具有實用性。
那么如何進行文檔的檢索呢?文檔屬于非結(jié)構(gòu)化數(shù)據(jù)(全文數(shù)據(jù)),不能像結(jié)構(gòu)化數(shù)據(jù)那樣簡單的存儲在數(shù)據(jù)庫中進行查詢,一般的檢索系統(tǒng)只是根據(jù)文檔的標題和一些屬性來搜索與結(jié)果相關(guān)的文檔,而真正高效的檢索文檔就要求不能只根據(jù)文檔標題進行檢索,而是需要得到文檔的內(nèi)部信息通過全文檢索(Full-text Search)技術(shù)來檢索文檔。
全文檢索是指計算機索引程序通過掃描文章中的每一個詞,對每一個詞建立一個索引,指明該詞在文檔中出現(xiàn)的次數(shù)和位置,當用戶檢索時,檢索程序就根據(jù)事先建立的索引進行查找,并將查找的結(jié)果反饋給用戶的檢索方式。這個過程類似于通過字典中的檢索字表查字的過程。
通俗的考慮,通過字典的偏旁部首表查找一個生字總會比盲目的翻看整本字典要快。
為了更快的實現(xiàn)文檔檢索系統(tǒng)我們選用成熟的開源全文檢索引擎——Lucene全文檢索引擎。Lucene是Apache軟件基金會的一個子項目,是一個開放源代碼的全文檢索引擎工具包,它是一個全文檢索引擎的架構(gòu),提供了完整的查詢引擎和索引引擎,部分文本分析引擎。
也就是說,Lucene只是一個發(fā)動機,而要讓文檔檢索系統(tǒng)“跑起來”還需要我們?yōu)槠浯蛟炱渌考?/p>
在建立索引的過程中首先要將源文檔轉(zhuǎn)換為文本信息,然后對文本信息進行具有語義化的分詞后提供給Lucene存儲為能夠進行文本查找的全文檢索庫。
這樣我們再通過Lucene進行檢索時,Lucene就能根據(jù)詞出現(xiàn)的頻率以及相關(guān)度來提供給我們與結(jié)果最匹配的文檔信息。這里就不在詳細描述Lucene檢索信息的原理。
2 系統(tǒng)架構(gòu)設(shè)計
文檔管理檢索系統(tǒng)的功能設(shè)計的體現(xiàn),如圖1所示。圖中包含了一些提高用戶體驗的模塊,比如文檔評分、評論模塊用來收集用戶對文檔的滿意度,文檔操作日志模塊用于記錄文檔發(fā)生任何變化的相關(guān)信息。
這個產(chǎn)品架構(gòu)功能簡潔,業(yè)務(wù)劃分明確,方便后續(xù)的產(chǎn)品迭代。
在系統(tǒng)的架構(gòu)設(shè)計方面,為達到用戶靈活多變的檢索需求,系統(tǒng)要充分考慮數(shù)據(jù)的合理組織,各類數(shù)據(jù)方便、有效的輸入,相關(guān)信息的鏈接和處理,檢索功能的設(shè)計,以及信息的提供類型和方式。
我們根據(jù)系統(tǒng)要實現(xiàn)的功能和最終目標,設(shè)計出全文檢索系統(tǒng)結(jié)構(gòu),整個系統(tǒng)分為五部分:檢索/管理系統(tǒng)、業(yè)務(wù)接口、索引服務(wù)、文檔服務(wù)和文檔預覽服務(wù)。
在系統(tǒng)設(shè)計上為了提高系統(tǒng)的可重用性和降低系統(tǒng)耦合度,系統(tǒng)整體采用面向服務(wù)的體系結(jié)構(gòu),完全獨立的開發(fā)部署文檔服務(wù)接口、索引接口并遵循Restful設(shè)計原則以便兼容其他系統(tǒng)。如圖2所示。
3 系統(tǒng)展示
前期功能很簡單,但隨著需求的增加我們可以將文檔服務(wù)打造成一個獨立的“文檔云服務(wù)”—能夠?qū)悠髽I(yè)其他系統(tǒng)并提供相應(yīng)的文檔管理服務(wù)。
文檔檢索方面我們需要在系統(tǒng)的使用中不斷優(yōu)化Lucene全文檢索引擎的分詞與檢索功能,增加文檔的相關(guān)屬性以便縮小檢索范圍檢索結(jié)果更精確。如圖3所示。
4 結(jié) 語
本文研究的重點是如何有效的管理和高效的利用已有的文檔,通過構(gòu)建通用企業(yè)文檔管理檢索系統(tǒng)使企業(yè)內(nèi)部成員可以輕松地打破文檔交流的壁壘。在全文檢索技術(shù)的幫助下更加精準的鎖定所需的文檔讓企業(yè)內(nèi)部的文檔在分享中更具有價值。
參考文獻:
[1] 張儉恭,陳定權(quán).漢字全文檢索系統(tǒng)的關(guān)鍵技術(shù)與實現(xiàn)[J].現(xiàn)代圖書情 報技術(shù),2001,(2).
[2] 嚴威,趙政.開發(fā)中文搜索引擎漢語處理的關(guān)鍵技術(shù)[J].計算機工程,
1999,(25).