一種更新索引文件的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及索引技術(shù)領(lǐng)域,特別是涉及一種更新索引文件的方法及系統(tǒng)。
【背景技術(shù)】
[0002]目前,全文檢索是指計(jì)算機(jī)索引程序通過(guò)掃描文章中的每一個(gè)詞,對(duì)每一個(gè)詞建立一個(gè)索引,指明該詞在文章中出現(xiàn)的次數(shù)和位置,當(dāng)用戶查詢時(shí),檢索程序就根據(jù)事先建立的索引進(jìn)行查找,并將查找的結(jié)果反饋給用戶的檢索方式。這個(gè)過(guò)程類(lèi)似于通過(guò)字典中的檢索字表查字的過(guò)程。
[0003]全文檢索系統(tǒng)是按照全文檢索理論建立起來(lái)的用于提供全文檢索服務(wù)的軟件系統(tǒng)。一般來(lái)說(shuō),全文檢索需要具備建立索引和提供查詢的基本功能,此外現(xiàn)代的全文檢索系統(tǒng)還需要具有方便的用戶接口、二次應(yīng)用開(kāi)發(fā)接口等等。功能上,全文檢索系統(tǒng)核心具有建立索引、處理查詢返回結(jié)果集、增加索引、優(yōu)化索引結(jié)構(gòu)等等功能。通常地,全文檢索主要分為按字檢索和按詞檢索兩種。
[0004]在當(dāng)前的企業(yè)全文檢索應(yīng)用領(lǐng)域,基于Lucene的全文檢索引擎非常適合處理高并發(fā)、低延遲的查詢需求。而分詞的好壞關(guān)系到查詢的準(zhǔn)確程度和生成的索引的大小,在當(dāng)前使用的中文分詞技術(shù)多數(shù)是基于中文詞庫(kù)進(jìn)行分詞的,因此詞庫(kù)的準(zhǔn)確性對(duì)分詞的效果起到關(guān)鍵作用。隨著業(yè)務(wù)的發(fā)展,詞庫(kù)需要增量更新維護(hù),而這樣會(huì)引發(fā)索引文件中歷史數(shù)據(jù)索引的分詞方式與當(dāng)前利用更新后的詞庫(kù)進(jìn)行分詞的結(jié)構(gòu)不一致,影響檢索的準(zhǔn)確性。因此,在現(xiàn)有技術(shù)中,當(dāng)分詞技術(shù)是基于詞庫(kù)的分詞,在詞庫(kù)更新發(fā)生變化時(shí),對(duì)索引文件中的全部歷史數(shù)據(jù)進(jìn)行重新索引更新,然而,這樣往往需要耗費(fèi)較長(zhǎng)的時(shí)間并且還會(huì)影響到全文檢索系統(tǒng)的正常使用。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明提供了一種更新索引文件的方法及系統(tǒng),以實(shí)現(xiàn)既能快速將新詞庫(kù)更新至索引文件又不會(huì)影響到全文檢索系統(tǒng)的正常使用的目的。
[0006]為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種更新索引文件的方法,包括:
[0007]獲取新詞庫(kù)和索引文件中的歷史數(shù)據(jù);其中,所述歷史數(shù)據(jù)包括多條索引數(shù)據(jù);
[0008]判斷每條所述索引數(shù)據(jù)是否受所述新詞庫(kù)的影響;
[0009]利用所述新詞庫(kù),對(duì)受所述新詞庫(kù)影響的索引數(shù)據(jù)進(jìn)行重新索引,并將重新索引后的索引數(shù)據(jù)更新至所述索引文件。
[0010]上述方法中,優(yōu)選的,所述判斷每條所述索引數(shù)據(jù)是否受所述新詞庫(kù)的影響,包括:
[0011]當(dāng)所述新詞庫(kù)中存在所述索引數(shù)據(jù)中的詞語(yǔ)時(shí),判定所述索引數(shù)據(jù)受所述新詞庫(kù)的影響。
[0012]上述方法中,優(yōu)選的,在所述將重新索引后的索引數(shù)據(jù)更新至所述索引文件之后,還包括:
[0013]存儲(chǔ)更新后的索引文件。
[0014]本發(fā)明還提供了一種更新索引文件的系統(tǒng),包括:
[0015]獲取單元,用于獲取新詞庫(kù)和索引文件中的歷史數(shù)據(jù);其中,所述歷史數(shù)據(jù)包括多條索引數(shù)據(jù);
[0016]判斷單元,用于判斷每條所述索引數(shù)據(jù)是否受所述新詞庫(kù)的影響;
[0017]更新單元,用于利用所述新詞庫(kù),對(duì)受所述新詞庫(kù)影響的索引數(shù)據(jù)進(jìn)行重新索引,并將重新索引后的索引數(shù)據(jù)更新至所述索引文件。
[0018]上述系統(tǒng)中,優(yōu)選的,所述判斷單元具體用于:
[0019]當(dāng)所述新詞庫(kù)中存在所述索引數(shù)據(jù)中的詞語(yǔ)時(shí),判定所述索引數(shù)據(jù)受所述新詞庫(kù)的影響。
[0020]上述系統(tǒng)中,優(yōu)選的,還包括:
[0021]存儲(chǔ)單元,用于在所述將重新索引后的索引數(shù)據(jù)更新至所述索引文件之后,存儲(chǔ)更新后的索引文件。
[0022]以上本發(fā)明提供的一種更新索引文件的方法及系統(tǒng)中,首先獲取新詞庫(kù)和索引文件中的歷史數(shù)據(jù);其中,所述歷史數(shù)據(jù)包括多條索引數(shù)據(jù);然后判斷每條所述索引數(shù)據(jù)是否受所述新詞庫(kù)的影響;最后利用所述新詞庫(kù)對(duì)受所述新詞庫(kù)影響的索引數(shù)據(jù)進(jìn)行重新索弓丨,并將重新索引后的索引數(shù)據(jù)更新至所述索引文件。顯然,本發(fā)明是對(duì)索引文件中受新詞庫(kù)影響的索引數(shù)據(jù)進(jìn)行重新索引,并不是一味地對(duì)整個(gè)索引文件中的歷史數(shù)據(jù)進(jìn)行重新索弓丨,以此實(shí)現(xiàn)了既能快速將新詞庫(kù)更新至索引文件又不會(huì)影響到全文檢索系統(tǒng)的正常使用的目的。
【附圖說(shuō)明】
[0023]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0024]圖1為本發(fā)明實(shí)施例提供的一種更新索引文件的方法的流程圖;
[0025]圖2為本發(fā)明實(shí)施例提供的一種更新索引文件的系統(tǒng)的結(jié)構(gòu)框圖示意圖。
【具體實(shí)施方式】
[0026]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0027]本發(fā)明的核心是提供一種更新索引文件的方法及系統(tǒng),以實(shí)現(xiàn)既能快速將新詞庫(kù)更新至索引文件又不會(huì)影響到全文檢索系統(tǒng)的正常使用的目的。
[0028]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
[0029]參考圖1,圖1示出了本發(fā)明實(shí)施例提供的一種更新索引文件的方法的流程圖,該方法具體可以包括如下步驟:
[0030]步驟S100、獲取新詞庫(kù)和索引文件中的歷史數(shù)據(jù);其中,歷史數(shù)據(jù)包括多條索引數(shù)據(jù);
[0031]步驟S101、判斷每條索引數(shù)據(jù)是否受新詞庫(kù)的影響;當(dāng)判定該條索引數(shù)據(jù)受新詞庫(kù)的影響時(shí),進(jìn)入步驟S102,否則,進(jìn)入步驟S103.
[0032]具體地,當(dāng)新詞庫(kù)中存在索引數(shù)據(jù)中的詞語(yǔ)時(shí),判定索引數(shù)據(jù)受新詞庫(kù)的影響。
[0033]步驟S102、利用新詞庫(kù),對(duì)受新詞庫(kù)影響的索引數(shù)據(jù)進(jìn)行重新索引,并將重新索引后的索引數(shù)據(jù)更新至索引文件。
[0034]進(jìn)一步地,在將重新索引后的索引數(shù)據(jù)更新至索引文件之后,存儲(chǔ)更新后的索引文件,以便后續(xù)對(duì)這個(gè)更新后的索引文件的使用。
[0035]步驟S103、忽略不受新詞庫(kù)影響的索引數(shù)據(jù)。
[0036]本發(fā)明對(duì)歷史數(shù)據(jù)進(jìn)行有選擇的索引,判斷發(fā)生變化的詞庫(kù)是否對(duì)歷史數(shù)據(jù)有影響,如果該數(shù)據(jù)使用了新增的詞庫(kù),則對(duì)該數(shù)據(jù)進(jìn)行重新索引更新到索引文件中,如果沒(méi)有影響,則忽略該條數(shù)據(jù)。這樣就大大減少了需要重新索引的數(shù)據(jù)量,可以高效的完成歷史數(shù)據(jù)的重新索引,同時(shí)不影響系統(tǒng)的正常使用。
[0037]以上本發(fā)明實(shí)施例提供的技術(shù)方案可以應(yīng)用于基于Lucene架構(gòu)的檢索引擎。其中,Lucene是一個(gè)開(kāi)放源代碼的全文檢索引擎工具包,即它不是一個(gè)完整的全文檢索引擎,而是一個(gè)全文檢索引擎的架構(gòu),提供了完整的查詢引擎和索引引擎。Lucene的目的是為軟件開(kāi)發(fā)人員提供一個(gè)簡(jiǎn)單易用的工具包,以方便的在目標(biāo)系統(tǒng)中實(shí)現(xiàn)全文檢索的功能,或者是以此為基礎(chǔ)建立起完整的全文檢索引擎。Lucene是一套用于全文檢索和搜尋的開(kāi)源程式庫(kù),由Apache軟件基金會(huì)支持和提供。Lucene提供了一個(gè)簡(jiǎn)單卻強(qiáng)大的應(yīng)用程式接口,能夠做全文索引和搜尋。
[0038]基于上述本發(fā)明實(shí)施例提供的更新索引文件的方法,本發(fā)明實(shí)施例還提供了一種更新索引文件的系統(tǒng),參考圖2,該系統(tǒng)200可以包括如下內(nèi)容:
[0039]獲取單元201,用于獲取新詞庫(kù)和索引文件中的歷史數(shù)據(jù);其中,歷史數(shù)據(jù)包括多條索引數(shù)據(jù);
[0040]判斷單元202,用于判斷每條索引數(shù)據(jù)是否受新詞庫(kù)的影響;
[0041]更新單元203,用于利用新詞庫(kù),對(duì)受新詞庫(kù)影響的索引數(shù)據(jù)進(jìn)行重新索引,并將重新索引后的索引數(shù)據(jù)更新至索引文件。
[0042]本發(fā)明中,上述判斷單元202具體可以用于當(dāng)新詞庫(kù)中存在索引數(shù)據(jù)中的詞語(yǔ)時(shí),判定索引數(shù)據(jù)受新詞庫(kù)的影響。
[0043]本發(fā)明中,上述系統(tǒng)200還可以包括存儲(chǔ)單元,用于在將重新索引后的索引數(shù)據(jù)更新至索引文件之后,存儲(chǔ)更新后的索引文件。
[0044]需要說(shuō)明的是,本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。對(duì)于系統(tǒng)類(lèi)實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述得比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
[0045]以上對(duì)本發(fā)明所提供的一種更新索引文件的方法及系統(tǒng)進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種更新索引文件的方法,其特征在于,包括: 獲取新詞庫(kù)和索引文件中的歷史數(shù)據(jù);其中,所述歷史數(shù)據(jù)包括多條索引數(shù)據(jù); 判斷每條所述索引數(shù)據(jù)是否受所述新詞庫(kù)的影響; 利用所述新詞庫(kù),對(duì)受所述新詞庫(kù)影響的索引數(shù)據(jù)進(jìn)行重新索引,并將重新索引后的索弓I數(shù)據(jù)更新至所述索引文件。2.如權(quán)利要求1所述的方法,其特征在于,所述判斷每條所述索引數(shù)據(jù)是否受所述新詞庫(kù)的影響,包括: 當(dāng)所述新詞庫(kù)中存在所述索引數(shù)據(jù)中的詞語(yǔ)時(shí),判定所述索引數(shù)據(jù)受所述新詞庫(kù)的影響。3.如權(quán)利要求2所述的方法,其特征在于,在所述將重新索引后的索引數(shù)據(jù)更新至所述索引文件之后,還包括: 存儲(chǔ)更新后的索引文件。4.一種更新索引文件的系統(tǒng),其特征在于,包括: 獲取單元,用于獲取新詞庫(kù)和索引文件中的歷史數(shù)據(jù);其中,所述歷史數(shù)據(jù)包括多條索引數(shù)據(jù); 判斷單元,用于判斷每條所述索引數(shù)據(jù)是否受所述新詞庫(kù)的影響; 更新單元,用于利用所述新詞庫(kù),對(duì)受所述新詞庫(kù)影響的索引數(shù)據(jù)進(jìn)行重新索引,并將重新索引后的索引數(shù)據(jù)更新至所述索引文件。5.如權(quán)利要求4所述的系統(tǒng),其特征在于,所述判斷單元具體用于: 當(dāng)所述新詞庫(kù)中存在所述索引數(shù)據(jù)中的詞語(yǔ)時(shí),判定所述索引數(shù)據(jù)受所述新詞庫(kù)的影響。6.如權(quán)利要求5所述的系統(tǒng),其特征在于,還包括: 存儲(chǔ)單元,用于在所述將重新索引后的索引數(shù)據(jù)更新至所述索引文件之后,存儲(chǔ)更新后的索引文件。
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種更新索引文件的方法及系統(tǒng),該方法包括:獲取新詞庫(kù)和索引文件中的歷史數(shù)據(jù);其中,所述歷史數(shù)據(jù)包括多條索引數(shù)據(jù);判斷每條所述索引數(shù)據(jù)是否受所述新詞庫(kù)的影響;利用所述新詞庫(kù),對(duì)受所述新詞庫(kù)影響的索引數(shù)據(jù)進(jìn)行重新索引,并將重新索引后的索引數(shù)據(jù)更新至所述索引文件。本發(fā)明是對(duì)索引文件中受新詞庫(kù)影響的索引數(shù)據(jù)進(jìn)行重新索引,并不是一味地對(duì)整個(gè)索引文件中的歷史數(shù)據(jù)進(jìn)行重新索引,以此實(shí)現(xiàn)了既能快速將新詞庫(kù)更新至索引文件又不會(huì)影響到全文檢索系統(tǒng)的正常使用的目的。
【IPC分類(lèi)】G06F17/30
【公開(kāi)號(hào)】CN105404661
【申請(qǐng)?zhí)枴緾N201510745257
【發(fā)明人】金洪殿, 趙仁明, 亓開(kāi)元
【申請(qǐng)人】浪潮(北京)電子信息產(chǎn)業(yè)有限公司
【公開(kāi)日】2016年3月16日
【申請(qǐng)日】2015年11月5日