亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Lucene在應(yīng)急預(yù)案檢索中的應(yīng)用

        2015-01-27 01:30:48許洪敏凌衛(wèi)青
        關(guān)鍵詞:全文檢索文件名分詞

        許洪敏,凌衛(wèi)青

        (同濟大學(xué) CIMS 研究中心,上海 201804)

        0 引言

        傳統(tǒng)的安全生產(chǎn)系統(tǒng)中,對應(yīng)急預(yù)案的查詢僅局限于對文件名的查詢,即將文件名作為數(shù)據(jù)庫字段中的內(nèi)容,利用like 關(guān)鍵字對文件名模糊查詢,但是like 往往會導(dǎo)致全表掃描,數(shù)據(jù)量很大的時候,搜索速度會很慢,而且傳統(tǒng)的這種方式不能實現(xiàn)對文件內(nèi)容的模糊查詢。Lucene 是實現(xiàn)全文檢索一種很有必要的開源工具包,它不僅提供了檢索所必須的建立文件索引,實現(xiàn)文件模糊查詢,對索引的文本進行分析等架構(gòu),而且還提供了豐富的實現(xiàn)檢索所必須的API 接口像各種分詞算法等,但是它不是像百度或者谷歌那樣現(xiàn)成的搜索引擎直接可以拿來用,所以通過研究其內(nèi)部豐富的接口或在此基礎(chǔ)上建立自己的檢索引擎架構(gòu)即可實現(xiàn)全文檢索功能[4]。

        Lucene 具有如下突出優(yōu)點:①建立索引時產(chǎn)生的索引文件其格式不受平臺影響,因此無需考慮平臺或系統(tǒng)的影響,索引只要建立好就可使用;②是面向?qū)ο蟮拈_源架構(gòu),對用戶來講,使用和理解起來更加的方便,而且若Lucene 內(nèi)部的功能不能夠滿足用戶需求,用戶還可對新功能進行擴展;③Lucene 內(nèi)部封裝了比較成熟和完善的查詢引擎,因此,使用起來相當?shù)姆奖悖^大多數(shù)情況下不需要用戶去實現(xiàn)查詢功能。

        本文將簡述在應(yīng)急預(yù)案管理中利用Lucene 實現(xiàn)對關(guān)鍵字模糊查詢的過程。

        1 應(yīng)急預(yù)案信息簡介

        應(yīng)急預(yù)案是針對可能發(fā)生的重大事件(如火災(zāi)等)或災(zāi)害(如地震等),為了使事故的損失降低到最低,使救援行動能夠有條不紊迅速快捷安全有效的開展而事先制定的解決方案,該解決方案很清楚的表述了制定方案的目地是什么,根據(jù)是什么,在什么情況下使用,誰來啟動,預(yù)警條件是什么,怎么上報而且還明確了整個事故的前期后后,誰需要做什么,怎么做,做到什么程度,根據(jù)事故情況的不同應(yīng)對方法也不一樣(這里有現(xiàn)場處置在里面),有多少人力,物力財力可以調(diào)用等[2]。應(yīng)急預(yù)案按照種類分為自然類和事件類,在災(zāi)害類中又分為自然災(zāi)害類和事故災(zāi)害類,在事件類中又分為公共衛(wèi)生事件類和社會安全事件類。當然,為了更有效的提高應(yīng)急效率,應(yīng)急預(yù)案也要時常的進行更新。由于應(yīng)急預(yù)案內(nèi)容的豐富性,僅僅對文件名進行模糊搜索是遠遠不夠的,由于Lucene 能夠?qū)崿F(xiàn)全文檢索的功能,所以對應(yīng)急預(yù)案的模糊搜索是通過Lucene 來完成的。由于應(yīng)急管理具有及時型和緊迫型,提高信息檢索的效率準確度,以及信息的全面性,對提高應(yīng)急響應(yīng)很有幫助。

        2 預(yù)案檢索的實現(xiàn)過程

        對于文檔建立索引的過程,由于文檔的保存形式大多為PDF 格式和Word 格式,所以要預(yù)選對文檔做處理和加工,使其符合調(diào)用Lucene 接口的規(guī)范,然后調(diào)用Lucene 相應(yīng)的API 接口,將分詞后的索引信息和文檔信息保存的索引庫中,接下來就是查詢的過程,對要查詢的信息經(jīng)過分析以后給相應(yīng)的接口,使其從索引庫中檢索出用戶想要的信息。

        圖1 檢索過程Fig.1 Retrieval process

        2.1 提取文檔內(nèi)容

        對于應(yīng)急管理中的文檔的保存形式并不是純文本的形式,應(yīng)急管理中文件的儲存形式大多都是Adobe 公司PDF 和MicroSoft 公司的word。所以在建立索引的時候,不是簡單的讀取文件信息,因為對于Lucene 來講,使用它的接口是有規(guī)范的,簡單的讀取是讀取不出來的,而是要根據(jù)文件格式的不同采取不同的辦法,把文件內(nèi)容提取出來轉(zhuǎn)化成Lucene 能夠識別的形式。PDF 是Adobe 公司開發(fā)的一種電子文件的存儲格式,其文件格式將文字、格式、顏色及獨立于設(shè)備和分辨率的圖形和圖像等封裝在一個文件中。如果要得到其中的文本信息,需要對文件格式進行解析。目前最常用的解析PDF的工具是PDFBox(這里不做詳細講解),使用PDFBox 提供的API,就可以從PDF 文件中的內(nèi)容轉(zhuǎn)化成文本的形式,從而提取出文件內(nèi)容。對于Word 中內(nèi)容的提取,.net 自帶的Microsoft.Office.Interop.Word.dll,C# 通過引進dll 文件和調(diào)用相應(yīng)的接口函數(shù)(這里不做詳細講解),就可將Word 中的內(nèi)容轉(zhuǎn)化成純文本的形式,從而提取出文件內(nèi)容。這兩種類型的文件格式轉(zhuǎn)化成純文本以后,就可以調(diào)用Lucene 中的接口實現(xiàn)接下來的操作。

        2.2 建立索引的執(zhí)行過程

        Lucene 最核心的特征就是其索引結(jié)構(gòu)的特殊性,這種特殊的索引結(jié)構(gòu)可以大大的提高檢索效率。那么Lucene 索引結(jié)構(gòu)的特殊性表現(xiàn)在哪里呢?Lucene 使用的是倒排文件索引結(jié)構(gòu),倒排文件索引是通過屬性的值來查找對應(yīng)的內(nèi)容,即它關(guān)鍵詞、關(guān)鍵詞在文中出現(xiàn)次數(shù)、關(guān)鍵詞在文中的位置分別作為詞典文件、頻率文件、位置文件保存;同時,為了能夠快速查找到關(guān)鍵詞,Lucene 對關(guān)鍵詞的存儲采用了一定的順序;另外,Lucene 引入Field 的概念來定義文件的屬性,根據(jù)文本中的具體信息,可將文本分成多Field,比如可將文件名放入一個Field,作者放入一個Field 等;每次創(chuàng)建新的索引文件,Lucene 不會馬上將這些新創(chuàng)建的索引文件合并到原先的索引中,而是對其進行定期處理,方便了文件的維護[5]。Lucene 建立索引過程歸結(jié)起來就是首先獲取數(shù)據(jù),然后通過索引規(guī)則建立索引,最后將這些索引文件寫入磁盤或內(nèi)存中。具體過程是由File 對象獲取待索引的文件,然后根據(jù)具體屬性信息比如文件名、作者、上傳人等信息構(gòu)造出多個Field 對象,這些Field 對象的集合構(gòu)成了Document,然后調(diào)用索引器IndexWriter對象的addDocument(doc)方法將Document 加入索引庫中,此時索引對象IndexWriter 會對文檔進行分詞,過濾的處理,接下來Lucene 會把文檔存放在索引庫中,并自動指定一個內(nèi)部編號,用來標識這條數(shù)據(jù)另一方面更新詞庫,把文本中的詞找到并放在詞匯表中,建立與文檔的對應(yīng)關(guān)系。具體的流程如圖2 所示。

        圖2 索引建立過程Fig.2 Process of establishing index

        2.3 查詢過程

        首先把要查詢的字符串轉(zhuǎn)化成Query 對象,查詢字符串也要先經(jīng)過Analyzer,要求搜索時使用的Analyzer要與建立索引時使用的Analyzer 要一致,當然這里包括分詞方法要一致,否則可能搜不出結(jié)果,比如按照一元分詞建立的索引,在查詢將查詢的字符串按照二元分詞來進行切分的,肯定找不到結(jié)果,調(diào)用其API 設(shè)計具體的檢索器,包括默認域、索引庫位置的指定,以及將關(guān)鍵詞通過布爾邏輯運算符連接起來形成復(fù)雜的查詢語句。隨后將正確解析的檢索表達式傳給IndexSerarch.search()進行查詢,系統(tǒng)通過檢索器對索引文件執(zhí)行查詢操作,然后進行去重、合并檢索結(jié)果集,排序,最后將檢索結(jié)果集提交給用戶。

        圖3 查詢的實現(xiàn)Fig.3 Implementation of search

        查詢功能可以根據(jù)建立索引庫時定義的可檢索項提供多條檢索途徑,除了可檢索如文件名、上傳人、關(guān)鍵詞等進本信息外,還可檢索根據(jù)詳細的信息如全文等。查詢功能各個檢索項之間提供了邏輯“與”、“或”、“非”關(guān)系的任意一種組合形式,對于要查詢的信息可以采用布爾表達式,自然語言,字段表達等多種方式的表達形式,可模糊查詢出用戶想用的信息。

        2.4 盤古分詞

        分詞是全文檢索的前提和核心。Lucene 處理分詞大致提供了了兩類方法,一類方法是建立一個豐富完備的詞匯庫,該詞匯庫能夠清晰的表達所有的關(guān)鍵詞,雖然這種方法可以大大的提高檢索的效率但是其代價太大可行性不高;另一種方法是通過簡單的算法進行切分,Lucene 中采用以某幾個詞進行切分,但是這種方法缺乏靈活性,雖然此方法在實際運用中成本低但在實際運用中,可行性不高。盤古分詞是一種多元分詞算法,它是基于.net 平臺的開發(fā)的一款開源中文分詞組件,其思想是采用字典和統(tǒng)計結(jié)合相結(jié)合的方法,在總體效果上相對來說優(yōu)于前兩種方法。盤古分詞對相對復(fù)雜的分詞提出了0~3 級冗余和0~5 權(quán)重[3]。冗余是分詞效果上來界定的,權(quán)重是分詞性能上來界定的,比如,設(shè)定冗余為0代表可得到最佳的分詞組合,若設(shè)定冗余為1 即代表此為最佳的組合,以此類推,根據(jù)實際情況可以自己設(shè)定,而權(quán)重的不同分詞性能是不同的。比如設(shè)定“咖啡”的權(quán)重大于“咖”或“啡”的權(quán)重,那么包括“咖啡”的記錄就會優(yōu)于“咖”或“啡”的記錄搜索到。

        3 檢索界面設(shè)計與功能實現(xiàn)

        3.1 檢索界面

        查詢系統(tǒng)要做的事情就是簡單方便的查找出用戶所需要的信息[1]。同時在符合簡單易用的基礎(chǔ)上,也要考慮檢索要求,于是設(shè)計出了如圖4 所示的界面,該界面符合預(yù)案庫管理中對文檔的檢索要求和用戶使用習(xí)慣。

        圖4 輸入界面Fig.4 Input Interface

        檢索界面中的“請輸入…”是提醒用戶輸入要查詢的關(guān)鍵字,這里的關(guān)鍵字可以查文件名中的關(guān)鍵字,也可查上傳人中的關(guān)鍵字,最重要的是可以查詢文件內(nèi)容中的關(guān)鍵字,這里的查詢是“或”的查詢方式,輸入了關(guān)鍵字以后,會在文件名,上傳人以及文件內(nèi)容中進行查找,只要有一個域里面含有關(guān)鍵字,就會將該文檔顯示出來,這樣設(shè)計更加的合理,而且不會疏漏信息。

        3.2 顯示界面

        對于顯示界面,一方面要考慮顯示的信息要盡量多,另一方面還靠考慮布局和排版,給用戶一種清爽簡潔的感覺,因此,考慮這兩種因素,設(shè)計出了圖5 所示的界面。

        圖5 顯示界面Fig.5 Display Interface

        在該顯示界面中,查詢框中的文字是從圖4 的檢索輸入界面帶入過來的,目的是方面用戶的操作,使用戶不用擔心忘記剛剛查詢的信息。當然,可將查詢框中的文字刪除,重新檢索,檢索原理和檢索輸入界面一致。考慮到易用性,該頁面的排版與當今主流的搜索引擎網(wǎng)站保持一致,對文檔信息選擇只顯示兩三行,若要了解詳細信息,可點擊文件名。

        考慮到用戶對文件名,上傳人,文件內(nèi)容了解的比較深,也可使用檢索顯示界面下方的檢索,該檢索是一個“與”檢索,是一種比較精細的查找方法,可實現(xiàn)單一搜索,組合搜索,檢索起來將更加方便和高效。

        4 結(jié)論

        利用Lucene 這個開源軟件實現(xiàn)了檢索功能的開發(fā),實踐證明了Lucene 是一款很好的全文檢索軟件,將會極大的推動全文檢索技術(shù)在各個行業(yè)或領(lǐng)域中的應(yīng)用。但是值得注意的是,在大信息量的環(huán)境下,如何安全的存儲索引文件即可以節(jié)省空間又可以提高檢索的速度,這是值得注意的問題。

        [1]李焱,路瑩.基于Lucene 的醫(yī)學(xué)文獻檢索系統(tǒng)[J].中華醫(yī)學(xué)圖書情報雜志,2010,9.

        [2]陳安,陳寧,等.現(xiàn)代應(yīng)急管理理論與方法[M].科學(xué)出版社,2009.

        [3]彭哲,陳敬之. Lucene 全文檢索的應(yīng)用及檢索效率測試研究[J].圖書館學(xué)研究,2009,2.

        [4]金玉玲.基于Lucene 的全文檢索系統(tǒng)的研究與應(yīng)用[D].大連理工大學(xué),2005.

        [5]Lucene 工作原理之倒排引.http://blog.csdn.net/chichengit/article/details/9235157,2013-07-03.

        猜你喜歡
        全文檢索文件名分詞
        右鍵調(diào)用多重更名更方便
        電腦愛好者(2019年9期)2019-10-30 03:43:29
        Excel輕松提取文件名
        結(jié)巴分詞在詞云中的應(yīng)用
        智富時代(2019年6期)2019-07-24 10:33:16
        值得重視的分詞的特殊用法
        Oracle數(shù)據(jù)庫全文檢索性能研究
        基于KySou的全文檢索系統(tǒng)的分析與優(yōu)化
        不讓長文件名成為“絆腳石”
        電腦迷(2014年8期)2014-04-29 07:37:40
        特色數(shù)據(jù)庫全文檢索系統(tǒng)的設(shè)計
        高考分詞作狀語考點歸納與疑難解析
        論英語不定式和-ing分詞的語義傳承
        亚洲av区,一区二区三区色婷婷 | 精品久久一区二区av| 久久精品不卡一区二区三区| 国产成年女人毛片80s网站| 天码av无码一区二区三区四区| 青春草在线视频精品| 男女一区视频在线观看| 人妻熟妇乱又伦精品hd| 日本亚洲色大成网站www久久| 国产福利片无码区在线观看| 亚洲一级天堂作爱av| 国模gogo无码人体啪啪| 欧美亚洲国产片在线播放| 在线精品日韩一区二区三区| 99视频偷拍视频一区二区三区| 色偷偷久久久精品亚洲| 亚洲综合无码无在线观看| 亚洲AV无码成人精品区天堂| av一区二区三区有码| 丰满熟妇乱又伦精品| 一本一本久久a久久精品综合麻豆| 免费黄网站久久成人精品| 亚洲av永久一区二区三区| 女人高潮内射99精品| 亚洲gv白嫩小受在线观看| 国产成年无码久久久久下载| 日本超级老熟女影音播放| 亚洲国产日韩精品一区二区三区| 欧美va免费精品高清在线| 日本无吗一区二区视频| 激情综合五月婷婷久久| 亚洲处破女av日韩精品| 人妻被猛烈进入中文字幕| 国产在线一区二区三区香蕉| 国产做国产爱免费视频| 亚洲精品你懂的在线观看| 色婷婷久久99综合精品jk白丝| 亚洲中文字幕舔尻av网站| 日本成本人三级在线观看| 91网红福利精品区一区二| 风流熟女一区二区三区|