• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      修訂限定的SVN全文檢索系統(tǒng)研究與實(shí)現(xiàn)

      2017-12-08 03:15:51任洪敏趙要強(qiáng)張敬周
      關(guān)鍵詞:版本號(hào)全文檢索庫(kù)中

      任洪敏 李 敏 趙要強(qiáng) 張敬周

      1(上海海事大學(xué)計(jì)算機(jī)系 上海 200135) 2(青島西海岸新區(qū)管委會(huì) 山東 青島 266555) 3(上海神開(kāi)石油設(shè)備有限公司 上海 201114) 4(上海上科信息技術(shù)研究所 上海 201206)

      修訂限定的SVN全文檢索系統(tǒng)研究與實(shí)現(xiàn)

      任洪敏1李 敏2趙要強(qiáng)3張敬周4

      1(上海海事大學(xué)計(jì)算機(jī)系 上海 200135)2(青島西海岸新區(qū)管委會(huì) 山東 青島 266555)3(上海神開(kāi)石油設(shè)備有限公司 上海 201114)4(上海上科信息技術(shù)研究所 上海 201206)

      針對(duì)SVN版本倉(cāng)庫(kù)數(shù)據(jù)檢索困難問(wèn)題,開(kāi)發(fā)一個(gè)基于Lucene的SVN全文檢索系統(tǒng)。結(jié)合版本控制管理工作特點(diǎn),提出兩種修訂限定的SVN全文檢索方式。設(shè)計(jì)版本限定的SVN全文檢索系統(tǒng)體系結(jié)構(gòu),給出基于Lucene過(guò)濾器的版本限定實(shí)現(xiàn)算法,描述系統(tǒng)的關(guān)鍵實(shí)現(xiàn)技術(shù)。該系統(tǒng)提供了便捷的SVN全文檢索功能,提升了SVN文檔資源的檢索效率。

      Subversion SVN Lucene 全文檢索

      0 引 言

      Subversion[1](SVN)是一款主流的、開(kāi)源的版本控制系統(tǒng)。SVN允許用戶在各自的空間修改和管理同一組數(shù)據(jù),記錄數(shù)據(jù)修改情況,并可以籍此將數(shù)據(jù)恢復(fù)到以前的版本與查看數(shù)據(jù)的修改細(xì)節(jié)。SVN促進(jìn)開(kāi)發(fā)團(tuán)隊(duì)協(xié)作,實(shí)現(xiàn)版本控制管理,具有強(qiáng)大的功能和廣泛的應(yīng)用,但SVN與其客戶端軟件如WebSVN[2]、TortoiseSVN[3]等并不提供SVN文件庫(kù)的全文檢索功能。當(dāng)用戶需要某個(gè)文檔資料但不知其具體的存儲(chǔ)位置與版本時(shí),用戶只能逐個(gè)修訂版本、逐個(gè)文件路徑采用手動(dòng)的方式瀏覽尋找。伴隨SVN文檔庫(kù)中文檔資源的數(shù)量和修訂版本號(hào)碼的增加,通過(guò)手動(dòng)的方式找出所需要文檔資料的難度大大增加,查找資料浪費(fèi)的時(shí)間大大增加。

      Lucene是一個(gè)知名的開(kāi)放源代碼全文檢索引擎[4],但Lucene并不支持版本化數(shù)據(jù)的全文索引和索引文檔的版本化管理。因此,針對(duì)SVN的文檔版本管理機(jī)制與修訂版本的變更情況,需要一種基于Lucene的高性能的SVN文檔庫(kù)全文檢索系統(tǒng)。該系統(tǒng)不僅能夠?qū)崿F(xiàn)全文檢索自身支持的與、或、非、相鄰等檢索邏輯運(yùn)算。同時(shí)需要能夠面向版本管理數(shù)據(jù)的特點(diǎn),提供與特定版本相關(guān)的全文檢索機(jī)制,以提升SVN文檔資源的檢索效率。

      SVN系統(tǒng)采用全局修訂版本號(hào)、版本差異保存和混合修訂版本機(jī)制[5],各修訂版本間通常存在大量相同的文檔和少量發(fā)生變更的文檔。通常一個(gè)修訂版本中包含一系列不同修訂版本的各個(gè)文檔。與此對(duì)應(yīng),該修訂版本中各個(gè)文檔的全文索引數(shù)據(jù)應(yīng)該同樣分散存在于不同修訂版本的全文索引文檔之中。否則,如果為每個(gè)修訂版本快照中的文件建立統(tǒng)一、集中獨(dú)立的索引文檔,雖然方便了版本限定的檢索方式,但會(huì)導(dǎo)致大量的索引數(shù)據(jù)冗余和系統(tǒng)運(yùn)行的性能負(fù)擔(dān)。因此,提供版本限定的SVN全文檢索功能,雖可方便用戶使用,增強(qiáng)系統(tǒng)檢索能力,但卻具有一定的挑戰(zhàn)。

      據(jù)此,基于Lucene全文索引引擎,結(jié)合SVN版本化數(shù)據(jù)機(jī)制,本文提出了一種高性能的SVN全文索引方法,實(shí)現(xiàn)SVN文件庫(kù)的全文檢索,支持版本限定的SVN全文檢索機(jī)制,提升SVN文檔資源的檢索效率。

      1 系統(tǒng)體系結(jié)構(gòu)

      SVN全文索引檢索機(jī)制通常不考慮SVN版本限定問(wèn)題,即在版本庫(kù)中全體修訂版本、全部文檔集中進(jìn)行檢索。限定修訂版本號(hào)碼的SVN全文索引檢索機(jī)制,即用戶在檢索時(shí)給定SVN的修訂版本號(hào),作為檢索條件,進(jìn)行檢索結(jié)果限定。具體包括兩種修訂檢索限定機(jī)制:

      (1) 僅在SVN文件庫(kù)中該特定修訂版本快照中的全體文件范圍中進(jìn)行全文檢索,而不是版本庫(kù)中全部修訂版本中的所有文檔集中進(jìn)行檢索。

      (2) 僅在該特定修訂版本與其前一修訂版本相比發(fā)生變更的文檔集中進(jìn)行全文檢索,而不是在該特定修訂版本快照的全體文檔集中進(jìn)行檢索。

      SVN每一修訂版本邏輯上包含版本化數(shù)據(jù)的全部文檔,包括發(fā)生變更的文檔和未發(fā)生變更的文檔,但通常各修訂版本中僅有少量部分的文檔發(fā)生變更。針對(duì)每一修訂版本,需對(duì)發(fā)生變更的文檔建立全文索引,實(shí)現(xiàn)版本數(shù)據(jù)的增量化索引,其不僅降低索引文件占用的空間,而且提升版本庫(kù)全文索引的建立時(shí)間和全文檢索的性能。

      為了支持修訂限定的版本檢索機(jī)制,需要根據(jù)針對(duì)變更文檔集建立的增量化索引,動(dòng)態(tài)重構(gòu)該修訂版本整體文檔集對(duì)應(yīng)的索引文檔。本文利用Lucene索引框架的filter機(jī)制[6],針對(duì)各修訂版本,建立自定義的、持久化并且內(nèi)存緩存的Lucene filter。該filter運(yùn)用BitSet從Lucene索引文檔集中標(biāo)識(shí)屬于該修訂版本的索引文檔,實(shí)現(xiàn)限定修訂版本號(hào)整體文檔索引文件的動(dòng)態(tài)重構(gòu)。

      據(jù)此,給出修訂限定的SVN全文檢索系統(tǒng)的總體系統(tǒng)體系結(jié)構(gòu)(圖1)。其中,SVN提交偵測(cè)模塊,基于SVN的事件捕獲機(jī)制,與SVN版本庫(kù)交互,偵測(cè)SVN文件庫(kù)中文件的新增與更新變化,具體包括SVN的Import和Commit操作。當(dāng)發(fā)現(xiàn)SVN文件庫(kù)變化時(shí),啟動(dòng)SVN變更文檔集提取模塊,調(diào)用SVN版本庫(kù)的接口方法,從SVN版本庫(kù)獲取本版本提交更新的文檔集,并把更新的文檔集傳遞給變更文檔集全文索引模塊。然后調(diào)用Lucene的索引機(jī)制,對(duì)變更文檔集進(jìn)行全文索引。每個(gè)變更文檔的Lucene索引必須包含三個(gè)字段:(1) 版本修訂號(hào),用于所索引存貯文檔的修訂版本號(hào);(2) 文件完整路徑,用于存貯所索引文檔在SVN版本庫(kù)中的路徑與文件名;(3) 文檔的索引內(nèi)容,用于對(duì)文檔的內(nèi)容進(jìn)行索引與存貯。

      圖1 修訂限定的SVN全文檢索系統(tǒng)體系結(jié)構(gòu)

      當(dāng)SVN版本庫(kù)中的版本變更時(shí),修訂版本過(guò)濾器構(gòu)建模塊獲取發(fā)生變更的文檔,構(gòu)建該修訂版本的Lucene檢索文檔過(guò)濾器。該過(guò)濾器運(yùn)用BitSet表達(dá)與存貯Lucene索引文檔庫(kù)中僅屬于該修訂版本的文檔,用于Lucene檢索引擎對(duì)特定修訂版本的索引文檔進(jìn)行過(guò)濾,實(shí)現(xiàn)特定修訂限定的文檔檢索,其內(nèi)部實(shí)現(xiàn)算法見(jiàn)2.1節(jié)。

      SVN全文檢索執(zhí)行時(shí),可調(diào)用修訂版本更新文件過(guò)濾器構(gòu)建模塊。該模塊獲取相鄰兩個(gè)修訂版本的檢索過(guò)濾器,動(dòng)態(tài)構(gòu)建兩個(gè)版本間發(fā)生變更文檔集的過(guò)濾器,以支持僅在版本間發(fā)生變更的文檔集中進(jìn)行全文檢索,其內(nèi)部實(shí)現(xiàn)算法見(jiàn)2.2節(jié)。

      SVN全文索引啟動(dòng)模塊負(fù)責(zé)整個(gè)系統(tǒng)的初始化啟動(dòng)。SVN全文檢索執(zhí)行模塊接受用戶的檢索請(qǐng)求,根據(jù)用戶的選擇,獲取相應(yīng)的版本限定檢索過(guò)濾器,訪問(wèn)Lucene索引與檢索庫(kù),執(zhí)行用戶要求的全文檢索,全文檢索的結(jié)果傳遞給檢索結(jié)果顯示模塊。

      2 修訂限定檢索算法

      修訂限定檢索機(jī)制的核心是根據(jù)修訂版本的增量化文檔集全文索引,動(dòng)態(tài)構(gòu)建該修訂版本的整體文檔集或其更新文檔集的Lucene過(guò)濾器。

      2.1 修訂限定過(guò)濾器構(gòu)建

      算法1為修訂版本限定過(guò)濾器構(gòu)建算法。該算法運(yùn)用遞推思想,基于前一修訂版本的限定過(guò)濾器和當(dāng)前修訂版本中文檔變更情況,構(gòu)建當(dāng)前修訂版本的文檔限定過(guò)濾器。Lucene過(guò)濾器采用BitSet設(shè)置索引庫(kù)中各文檔是的否應(yīng)被過(guò)濾。算法運(yùn)行的初始基礎(chǔ)即修訂版本0的文檔檢索過(guò)濾器,其BitSet的各位皆設(shè)置為false。

      算法1修訂版本限定過(guò)濾器構(gòu)建算法

      Input:需要構(gòu)建過(guò)濾器的修訂版本號(hào)revNo。

      Output:revNo版本的修訂限定檢索過(guò)濾器。

      Begin:

      獲取變更文檔的URL數(shù)組列表changedDocUrls;

      獲取變更文檔的數(shù)量changeddocNo=changedDocUrls.size();

      獲取修訂版本號(hào)revNo-1的過(guò)濾器prevBitSet;

      獲取prevBitSet的位數(shù)preSetSize=prevBitSet.size();

      // 設(shè)置curBitSet中0…preSetSize位的值

      curBitSet=new BitSet(preSetSize+changeddocNo);

      for(int i=0;i

      //設(shè)置curBitSet中變更文檔對(duì)應(yīng)位為false

      foreach(url in changedDocUrls){

      //于lucene索引庫(kù)中查找其path field的值為url的文檔,

      //獲得其文檔編號(hào)docId;

      if(curBitSet.get(docID)) curBitSet.set(docID,false);

      }

      //設(shè)置curBitSet中preSetSize…preSetSize+changeddocNo-1

      //位的值

      for(int i=preSetSize;i

      //返回構(gòu)建的當(dāng)前更新版本的過(guò)濾器

      return curBitSet;

      End

      該算法首先獲取當(dāng)前需要構(gòu)建過(guò)濾器的修訂版本號(hào)revNo、獲取當(dāng)前修訂版本與前一修訂版本相比發(fā)生變更文檔的url數(shù)組列表changedDocUrls,得到發(fā)生變更文檔的數(shù)量,設(shè)為changeddocNo。從修訂版本過(guò)濾器存貯體系中獲取所存貯的前一修訂版本的限定過(guò)濾器,設(shè)為prevBitSet,基于該過(guò)濾器遞推構(gòu)建當(dāng)前修訂版本過(guò)濾器。

      然后初始化創(chuàng)建當(dāng)前修訂版本的過(guò)濾器,設(shè)為curBitSet。因Lucene索引庫(kù)新增加了變更的changeddocNo個(gè)文檔,故其長(zhǎng)度應(yīng)為preSetSize+changeddocNo?;谇耙恍抻啺姹具^(guò)濾器prevBitSet設(shè)置curBitSet中前preSetSize位的初始值,保持與prevBitSet過(guò)濾器中各對(duì)應(yīng)值一致,因版本間大部分文檔未發(fā)生變更。針對(duì)每個(gè)變更文檔的url,查找Lucene索引庫(kù),于索引文檔庫(kù)中找到相應(yīng)索引文檔及其文檔編號(hào)docId。 如果在curBitSet中對(duì)應(yīng)位置為true,則表明該文檔屬于前一修訂版本,現(xiàn)在該文檔已發(fā)生變更具有新版本,故其不屬于當(dāng)前版本的文檔集,所以過(guò)濾器對(duì)應(yīng)文檔位置設(shè)置為false。

      最后,針對(duì)新變更文檔進(jìn)行增量化索引存貯,其于限定過(guò)濾器curBitSet中的對(duì)應(yīng)位置是preSetSize…preSetSize+changeddocNo-1。該部分文檔全部屬于當(dāng)前修訂版本的索引文檔,故過(guò)濾器中相應(yīng)各位全設(shè)置為true。至此,修訂限定過(guò)濾器構(gòu)造完畢。

      2.2 修訂更新文件限定過(guò)濾器構(gòu)建

      算法2為修訂版本更新文件限定過(guò)濾器構(gòu)建算法。該算法基于用戶提供的修訂版本號(hào),構(gòu)建與前一修訂版本相比所發(fā)生變更文檔的檢索過(guò)濾器。

      算法2修訂版本更新文件限定過(guò)濾器構(gòu)建算法

      Input:需要構(gòu)建修訂更新過(guò)濾器的修訂版本號(hào)revNo。

      Output:revNo版本的修訂更新文件限定檢索過(guò)濾器。

      Begin:

      獲取修訂版本號(hào)revNo-1的過(guò)濾器prevBitSet;

      獲取prevBitSet的位數(shù)preSetSize=prevBitSet.size();

      獲取修訂版本號(hào)revNo的過(guò)濾器curBitSet;

      獲取curBitSet的位數(shù)curSetSize=curBitSet.size();

      獲取最大修訂版本號(hào)的過(guò)濾器maxBitSet;

      獲取maxBitSet的位數(shù)maxSetSize=maxBitSet.size();

      //初始生成revNo的更新文檔過(guò)濾器updateBitSet

      updateBitSet=new BitSet(maxSetSize)

      //設(shè)置updateBitSet中0…preSetSize-1位的值

      for(int i=0;i

      //設(shè)置updateBitSet中preSetSize…curSetSize-1位的值

      for(int i=preSetSize;i

      //設(shè)置maxBitSet中curSetSize…maxBitSize-1位的值

      for(int i=curSetSize;i

      //返回構(gòu)建的修訂版本更新文檔過(guò)濾器

      return updateBitSet;

      End

      該算法首先是數(shù)據(jù)的獲取與讀取,具體包括獲取用戶請(qǐng)求限定的修訂版本號(hào),設(shè)為revNo;獲取修訂版本號(hào)revNo-1的過(guò)濾器prevBitSet,其長(zhǎng)度設(shè)為preSetSize;獲取修訂版本號(hào)revNo的過(guò)濾器curBitSet,其長(zhǎng)度設(shè)為curSetSize;獲取最大修訂版本號(hào)的過(guò)濾器,設(shè)為maxBitSet,其長(zhǎng)度設(shè)為maxSetSize。maxSetSize代表了Lucene索引庫(kù)中所索引文檔的總數(shù)。本算法將根據(jù)prevBitSet、curBitSet和maxBitSet構(gòu)建修訂版本的更新文檔過(guò)濾器。

      然后,初始化生成revNo的更新文檔過(guò)濾器,設(shè)為updateBitSet,其長(zhǎng)度為maxSetSize。Lucene索引庫(kù)中前preSetSize個(gè)文檔,為revNo修訂版本或更前面修訂版本的文檔,故不是revNo修訂版本的更新文檔,故設(shè)置updateBitSet中相應(yīng)位的值為false。Lucene索引庫(kù)中對(duì)應(yīng)于preSetSize…curSetSize位置間的文檔,為revNo修訂版本發(fā)生變更的文檔,故設(shè)置updateBitSet中相應(yīng)位的值為true。Lucene索引庫(kù)中對(duì)應(yīng)于curSetSize…maxBitSize-1位置間的文檔,是revNo之后修訂版本新增加的索引文檔,不是revNo修訂版本的更新文檔,故設(shè)置updateBitSet中相應(yīng)位的值為false。

      最后返回該修訂版本更新文件限定過(guò)濾器updateBitSet,供Lucene匹配引擎使用。

      3 系統(tǒng)實(shí)現(xiàn)

      本系統(tǒng)采用B/S架構(gòu)實(shí)現(xiàn),前臺(tái)使用HTML、CSS和JavaScript語(yǔ)言和jQuery、jQuery Easy UI框架,基于AJAX技術(shù)調(diào)用后臺(tái)Java服務(wù),驅(qū)動(dòng)Lucene全文檢索引擎訪問(wèn)SVN倉(cāng)庫(kù)執(zhí)行索引與檢索。系統(tǒng)在4 GB內(nèi)存、AMD CPU 2.1 GHz、Lucene4.7、poi-3.11、Svnkti-1.8.7環(huán)境下測(cè)試。針對(duì)200個(gè)、450 MB文件進(jìn)行測(cè)試,建立索引時(shí)間66.235秒,索引文件3.7 MB,全文檢索時(shí)間0.041秒,系統(tǒng)具有良好的時(shí)間執(zhí)行性能。

      本系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)包括:

      (1) 基于SVNKit的SVN倉(cāng)庫(kù)訪問(wèn)操作[7]

      SVNKit是一款開(kāi)源的、純 Java的 SVN版本控制系統(tǒng)的二次開(kāi)發(fā)軟件包,提供豐富的API實(shí)現(xiàn)SVN倉(cāng)庫(kù)的創(chuàng)建、加載、檢出、提交、更新、版本差異比較、版本文件讀取等系列功能。利用SVNKit的高層API接口SVNClientManager,調(diào)用其getDiffClient()方法獲取SVNDiffClient的實(shí)例,獲得修訂版本的變更文檔集,并對(duì)每一個(gè)變更的文檔應(yīng)用SVNRepository的getFile()方法進(jìn)行讀取,傳遞給Lucene以實(shí)現(xiàn)增量化索引。

      (2) Office文檔和PDF文檔內(nèi)容提取與索引[8]

      Lucene自身提供的索引分析器不能有效處理Office文檔和PDF文檔。POI和PDFBox軟件包皆是Apache軟件基金會(huì)提供的開(kāi)源的、純Java的Office文檔、PDF文檔讀寫(xiě)操作的軟件包,具有強(qiáng)大、完善的Office文檔和PDF文檔讀寫(xiě)和轉(zhuǎn)化功能。利用POI和PDFBox提取SVN版本倉(cāng)庫(kù)中的Office文檔和PDF文檔的文本內(nèi)容流,從而對(duì)其實(shí)現(xiàn)全文索引。

      (3) 基于NLPIR的中文分詞處理[9]

      NLPIR是中國(guó)科學(xué)院計(jì)算技術(shù)研究所經(jīng)過(guò)多年的研發(fā)而成供開(kāi)發(fā)出的一款漢語(yǔ)詞法分析系統(tǒng)。NLPIR主要功能包括中文分詞、命名實(shí)體識(shí)別、用戶詞典和詞性標(biāo)注功能。利用NLPIR的分詞功能對(duì)SVN倉(cāng)庫(kù)中的文檔的內(nèi)容進(jìn)行分詞,同時(shí)過(guò)濾掉沒(méi)有必要進(jìn)行索引的無(wú)意義的詞匯語(yǔ)句,從而減少數(shù)據(jù)冗余,提高索引與檢索效率。

      4 結(jié) 語(yǔ)

      SVN是一款開(kāi)源的、廣泛應(yīng)用的版本控制系統(tǒng)。伴隨SVN文檔庫(kù)中文檔資源數(shù)量的積累和增加,從中進(jìn)行資源文件的查找變得困難。Lucene是一個(gè)知名的開(kāi)放源代碼全文檢索引擎。據(jù)此,本文提出了一個(gè)基于Lucene的SVN全文檢索系統(tǒng),并針對(duì)版本化數(shù)據(jù)特點(diǎn),提出了兩種修訂限定的全文檢索方式和實(shí)現(xiàn)算法,給出了系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)。該系統(tǒng)提供便捷的SVN系統(tǒng)全文檢索功能,同時(shí)能夠基于修訂限定檢索的范圍與檢索結(jié)果,提升SVN文檔資源的檢索效率。

      [1] 高平,周磊.版本控制系統(tǒng)——Subversion技術(shù)及其在軟件開(kāi)發(fā)庫(kù)的應(yīng)用[J].航空電子技術(shù),2013(1):24-28.

      [2] Liu C,Ye X,Ye E.Source Code Revision History Visualization Tools:Do They Work and What Would it Take to Put Them to Work?[J].IEEE Access,2014,2:404-426.

      [3] 崔詩(shī)程,李千目,戈峰,等.基于Lucene的全文檢索架構(gòu)設(shè)計(jì)[J].南京理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,39(6):692-697.

      [4] WebSVN-Online subversion repository browser[OL].http://www.websvn.info/.

      [5] Ben Collins-Sussman,Brian W Fitzpatrick,C Michael Pilato.Version Control with Subversion[M].O’Reilly Media,2008.

      [6] 劉妍.Lucene過(guò)濾搜索原理及編程實(shí)踐研究[J].電腦編程技巧與維護(hù),2015(2):22-23.

      [7] 陳?ài)?基于SVNKIT的大型企業(yè)應(yīng)用系統(tǒng)變更管理[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2014(18):100-102.

      [8] 孔浩,高琴,姜娜.高校URP中基于POI設(shè)計(jì)實(shí)現(xiàn)數(shù)據(jù)交換中間件[J].陜西理工學(xué)院學(xué)報(bào)(自然科學(xué)版),2013(4):39-42.

      [9] 義天鵬,陳啟安.基于Lucene的中文分析器分詞性能比較研究[J].計(jì)算機(jī)工程,2012(22):279-282.

      RESEARCHANDIMPLEMENTATIONOFAREVISION-RESTRICTEDSVNFULL-TEXTRETRIEVALSYSTEM

      Ren Hongmin1Li Min2Zhao Yaoqiang3Zhang Jingzhou4

      1(DepartmentofComputerScienceandTechnology,ShanghaiMaritimeUniversity,Shanghai200135,China)2(QingdaoWestCoastNewAreaAdministrativeCommittee,Qingdao266555,Shandong,China)3(ShanghaiShenkaiPetroleumEquipmentCo.,Ltd,Shanghai201114,China)4(ShanghaiShangkeInformationTechnologyResearchInstitute,Shanghai201206,China)

      Aiming at the problem of data retrieval from SVN version repositories, an SVN full-text retrieval system is developed based on Lucene indexing and search technology. Combining with the characteristics of version control management, two revision-restricted SVN full-text retrieval methods was proposed. Then the system architecture of revision-restricted SVN full-text retrieval system is defined, the essential algorithms and realization mechanisms are described based on Lucence filters. The system provides convenient full-text retrieval function for SVN repositories and improves the SVN document resources search efficiency as well.

      Subversion SVN Lucene Full-text retrieval

      2017-02-17。上海海事大學(xué)高級(jí)軟件工程精品課程建設(shè)項(xiàng)目(2012YQ15000103)。任洪敏,副教授,主研領(lǐng)域:軟件工程。李敏,碩士。趙要強(qiáng),高工。張敬周,研究員。

      TP311

      A

      10.3969/j.issn.1000-386x.2017.11.016

      猜你喜歡
      版本號(hào)全文檢索庫(kù)中
      動(dòng)物城堡
      動(dòng)物城堡
      認(rèn)識(shí)vSphere安裝程序
      智能盤(pán)庫(kù)在自動(dòng)化立體庫(kù)中的探索和應(yīng)用
      Oracle數(shù)據(jù)庫(kù)全文檢索性能研究
      深入淺出 全面獲知系統(tǒng)版本號(hào)
      基于KySou的全文檢索系統(tǒng)的分析與優(yōu)化
      多種方法查看系統(tǒng)版本號(hào)
      電腦迷(2014年8期)2014-04-29 08:53:03
      ID3算法在構(gòu)件庫(kù)中的應(yīng)用
      河南科技(2014年10期)2014-02-27 14:09:02
      電子商務(wù)的數(shù)據(jù)陳舊性檢查的設(shè)計(jì)與實(shí)現(xiàn)
      龙门县| 平安县| 库伦旗| 萨嘎县| 长白| 天气| 枣强县| 宝清县| 富锦市| 白水县| 敦化市| 东阿县| 吴忠市| 商洛市| 托里县| 沙雅县| 小金县| 博罗县| 泗洪县| 定远县| 彰武县| 三都| 阿勒泰市| 清水县| 凌云县| 千阳县| 舞钢市| 高唐县| 光山县| 竹溪县| 合阳县| 溆浦县| 沙洋县| 仙居县| 黑水县| 和田县| 三台县| 淮安市| 申扎县| 长海县| 罗定市|