一種實現(xiàn)倒排鏈快速歸并的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息檢索領(lǐng)域,更具體地,涉及一種實現(xiàn)快速倒排鏈歸并的方法和裝置。
【背景技術(shù)】
[0002]隨著信息技術(shù)的飛速發(fā)展,人們越來越多的使用網(wǎng)絡(luò)來查找各種信息,包括例如最新信息的發(fā)布、新技術(shù)的進展、專業(yè)性論文、社交網(wǎng)絡(luò)發(fā)布或分享的諸如評論、日志、討論之類的各種信息。例如,用戶想通過網(wǎng)絡(luò)查找某條新聞的詳細內(nèi)容,或者查找某項技術(shù)的介紹,或者想了解其他人對近期上映的某部電影的評論等,實現(xiàn)這些網(wǎng)絡(luò)查詢需求的重要工具是搜索引擎。
[0003]搜索引擎是指根據(jù)一定的策略、運用特定的技術(shù)手段自動從互聯(lián)網(wǎng)上搜集信息,在對信息進行組織和處理后,將用戶檢索相關(guān)的信息展示給用戶的系統(tǒng)。其中搜集的信息進行組織和處理非常重要,提取關(guān)鍵詞、建立索引文件、按一定規(guī)則排序是重點,這將影響到搜索速度。
[0004]在搜索引擎技術(shù)中,倒排索引是常使用的一種數(shù)據(jù)結(jié)構(gòu),通過倒排索引可以根據(jù)關(guān)鍵詞快速地獲取到包含這個關(guān)鍵詞的文檔列表,生成搜索結(jié)果反饋給用戶。
[0005]現(xiàn)有技術(shù)的方法存在一個問題,如果關(guān)鍵詞的倒排鏈很長,例如,關(guān)鍵詞“新聞”或“體育”等可能命中幾百萬或上千萬個結(jié)果,則目前至少需要上百毫秒甚至幾秒才能完成檢索,這是因為整個檢索時間與關(guān)鍵詞命中的數(shù)據(jù)的數(shù)目成正比。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于提供一種實現(xiàn)倒排鏈快速歸并的方法和裝置,以改善上述的問題。
[0007]在本發(fā)明的實施例中提供了一種實現(xiàn)倒排鏈快速歸并的方法,其包括:
[0008]預(yù)先建立倒排索引并記錄該倒排索引中的各條倒排鏈的長度;
[0009]通過所述倒排索引查詢到與至少一個關(guān)鍵詞對應(yīng)的多條倒排鏈;
[0010]按照長度從小到大的順序?qū)λ龆鄺l倒排鏈進行排序;
[0011]從長度最小的倒排鏈開始對所述排序后的多條倒排鏈進行順序歸并。
[0012]優(yōu)選的,在建立倒排索引的過程中還包括建立分別包含檢索單元和語義單元的多條倒排鏈。
[0013]優(yōu)選的,所述檢索單元為通過小粒度分詞方法獲得的關(guān)鍵詞。
[0014]優(yōu)選的,所述語義單元為通過大粒度分詞方法獲得的關(guān)鍵詞。
[0015]優(yōu)選的,在建立倒排索引的過程中,包括將倒排鏈所記錄的文檔按照多維特征進行排序,確保優(yōu)質(zhì)文檔排在倒排鏈靠近鏈頭的位置。
[0016]優(yōu)選的,所述文檔的多維特征包括文檔的點擊量、文檔質(zhì)量和文檔的作者。
[0017]優(yōu)選的,所述關(guān)鍵詞是通過采用多粒度分詞方法對給定文本進行分詞產(chǎn)生的。
[0018]優(yōu)選的,采用插入排序法、冒泡排序法或者選擇排序法來按照長度從小到大的順序?qū)λ龆鄺l倒排鏈進行排序。
[0019]優(yōu)選的,在對所述排序后的多條倒排鏈進行順序歸并時采用截斷方法來進行,具體過程是:召回預(yù)設(shè)數(shù)量的排在倒排鏈靠近鏈頭位置的文檔后提前結(jié)束歸并。
[0020]在本發(fā)明的實施例中還提供了一種實現(xiàn)倒排鏈快速歸并的裝置,其包括:
[0021]倒排索引建立單元,用于預(yù)先建立倒排索引并記錄該倒排索引中的各條倒排鏈的長度;
[0022]查詢單元,用于通過倒排索引查詢到與至少一個關(guān)鍵詞對應(yīng)的多條倒排鏈;
[0023]排序單元,用于按照長度從小到大的順序?qū)λ龆鄺l倒排鏈進行排序;
[0024]歸并單元,用于從長度最小的倒排鏈開始對所述排序后的多條倒排鏈進行順序歸并。
[0025]優(yōu)選的,所述倒排索引建立單元還用于建立分別包含檢索單元和語義單元的多條倒排鏈。
[0026]優(yōu)選的,所述檢索單元為通過小粒度分詞方法獲得的關(guān)鍵詞。
[0027]優(yōu)選的,所述語義單元為通過大粒度分詞方法獲得的關(guān)鍵詞。
[0028]優(yōu)選的,所述實現(xiàn)倒排鏈快速歸并的裝置還包括:優(yōu)先排序裝置,用于將倒排鏈所記錄的文檔按照多維特征進行排序,確保優(yōu)質(zhì)文檔排在倒排鏈靠近鏈頭的位置。
[0029]本發(fā)明實施例提供的技術(shù)方案的有益效果是:在海量數(shù)據(jù)中一個關(guān)鍵詞的倒排鏈通常會很長,減少不必要的鏈表遍歷是提高檢索效率的關(guān)鍵,本發(fā)明所提供的實現(xiàn)倒排鏈快速歸并的方法和裝置因為優(yōu)先對鏈短的倒排鏈進行歸并,進行比較和遍歷的次數(shù)少;另外在建立倒排索引過程中優(yōu)先使用多粒度分詞的方法建立分別包含檢索單元和語義單元的多條倒排鏈,這樣既可以提升搜索結(jié)果的召回率,又減少了需要歸并的倒排鏈的數(shù)量和長度,減少了遍歷的次數(shù);另外在建立倒排索引的過程中還包括將倒排鏈所記錄的文檔按照多維特征進行排序,確保優(yōu)質(zhì)文檔排在倒排鏈靠近鏈頭的位置,這樣可以在召回預(yù)設(shè)數(shù)量的排在倒排鏈靠近鏈頭位置的文檔后提前結(jié)束歸并。這些措施減少了查詢所需的時間,提高了查詢時的搜索效率和準確率,從而提高搜索引擎的整體性能。
【附圖說明】
[0030]圖1是本發(fā)明的實現(xiàn)倒排鏈快速歸并的方法的流程圖;
[0031]圖2是本發(fā)明的實現(xiàn)倒排鏈快速歸并的裝置的結(jié)構(gòu)示意圖;
[0032]圖3是本發(fā)明的實現(xiàn)倒排鏈快速歸并的裝置的一個優(yōu)選實施例的結(jié)構(gòu)示意圖。
【具體實施方式】
[0033]下面將結(jié)合本發(fā)明實施例中附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發(fā)明實施例的組件可以以各種不同的配置來布置和設(shè)計。因此,以下對在附圖中提供的本發(fā)明的實施例的詳細描述并非旨在限制要求保護的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實施例?;诒景l(fā)明的實施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0034]下面將結(jié)合本發(fā)明的附圖和具體實施例,對本發(fā)明的技術(shù)方案進行清楚、完整地描述。
[0035]圖1是本發(fā)明的實現(xiàn)倒排鏈快速歸并的方法的流程圖。如圖1所示,本發(fā)明的實現(xiàn)倒排鏈快速歸并的方法包括:
[0036]步驟SlOl:預(yù)先建立倒排索引并記錄該倒排索引中的各條倒排鏈的長度。
[0037]索引是搜索技術(shù)的重要組成部分,通過構(gòu)建結(jié)構(gòu)簡單、有效、高性能的索引,可以幫助用戶快捷地獲取所查詢的信息。目前,搜索技術(shù)常采用倒排索引,倒排索引可以被看成一個鏈表數(shù)組,每個鏈表的表頭包含關(guān)鍵詞,其后續(xù)單元則包括所有包含這個關(guān)鍵詞的文檔標號以及一些其他信息。這些信息可以是文檔中該詞的頻率,也可以是文檔中該詞的位置等信息。這樣在檢索時可以直接利用各個鏈表表頭的關(guān)鍵詞來查找包含這些關(guān)鍵詞的文檔,而無需對所有的文檔逐個進行基于關(guān)鍵詞的檢索,有利于提高檢索的效率。大多數(shù)搜索引擎公司基本都采用了倒排索引方法來實現(xiàn)信息的檢索。常用的倒排索引創(chuàng)建方式包括二分法、字典樹法和哈希法等。例如,二分法是將用于創(chuàng)建索引的詞條按照一定的順序排列,例如,按照字典順序或者漢字內(nèi)碼順序有序排列,并存儲詞條對應(yīng)的數(shù)據(jù),然后根據(jù)用戶輸入的搜索關(guān)鍵詞,采用二分法從順序排列中的詞條中查找該搜索關(guān)鍵詞對應(yīng)的詞條,再根據(jù)查詢得到的詞條獲取相應(yīng)的數(shù)據(jù),將數(shù)據(jù)信息向用戶顯示輸出。當(dāng)然還可以采用其它公知的建立索引方法的方法,這里不再贅述。在建立倒排索引時,可以記錄該倒排索引中的各條倒排鏈的長度大小。
[0038]另外,在建立倒排索引的過程中還包括建立分別包含檢索單元和語義單元的多條倒排鏈。所述檢索單元為通過小粒度分詞方法獲得的關(guān)鍵詞。所述語義單元為通過大粒度分詞方法獲得的關(guān)鍵詞。該語義單元可以包括至少2個檢索單元。所述小粒度分詞方法和大粒度分詞方法可以采用本領(lǐng)域公知的方法,這里不再贅述。這種在建立倒排索引過程中優(yōu)先使用多粒度分詞的方法建立分別包含檢索單元和語義單元的多條倒排鏈的好處是:既可以提升搜索結(jié)果的召回率,又減少了需要歸并的倒排鏈的數(shù)量和長度,減少了遍歷的次數(shù)。
[0039]另外,在建立倒排索引的過程中還包括將倒排鏈所記錄的文檔按照多維特征進行排序,確保優(yōu)質(zhì)文檔排在倒