索引建立方法及裝置的制造方法
【技術領域】
[0001 ] 本發(fā)明涉及計算機技術領域,尤其涉及一種索引建立方法及裝置。
【背景技術】
[0002]短語的傳統(tǒng)查詢方案為,將短語通過分詞獲得其對應的詞,遍歷文檔中的所有詞,獲得此文檔中該短語對應的所有詞的位置信息,比較各個詞之間的位置關系,檢測這些詞中的相鄰詞合并后是否為所述短語,若是,則將所述相鄰詞中位置靠前的詞的位置信息作為所述短語的位置信息,從而獲得所述短語在該文檔中的位置。
[0003]但是,在實際應用個,由于高頻短語對應的詞在文檔中出現(xiàn)的次數(shù)較多,相應的,這些詞的位置信息也會比較多,這就會導致針對高頻短語的查詢效率較低。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種索引建立方法及裝置,用于解決現(xiàn)有的短語查詢方案中高頻短語的查詢效率較低的問題。
[0005]本發(fā)明的第一個方面是提供一種索引建立方法,包括:
[0006]通過分詞獲得第一文檔中的各個詞,針對所述各個詞中的每個高頻詞,將所述高頻詞和與其相鄰的另一高頻詞合并為短語;
[0007]針對所述短語中的每個高頻短語,生成并存儲第一索引至所述第一文檔對應的索引段,以對所述高頻短語進行查詢,所述第一索引包括所述高頻短語在所述第一文檔中的位置信息;
[0008]其中,每個高頻詞的出現(xiàn)次數(shù)均不小于第一預設值,每個高頻短語的出現(xiàn)次數(shù)均不小于第二預設值。
[0009]本發(fā)明的另一個方面是提供一種索引建立裝置,包括:
[0010]第一合并模塊,用于通過分詞獲得第一文檔中的各個詞,針對所述各個詞中的每個高頻詞,將所述高頻詞和與其相鄰的另一高頻詞合并為短語;
[0011]第一處理模塊,用于針對所述短語中的每個高頻短語,生成并存儲第一索引至所述第一文檔對應的索引段,所述第一索引包括所述高頻短語在所述第一文檔中的位置信息;
[0012]其中,每個高頻詞的出現(xiàn)次數(shù)均不小于第一預設值,每個高頻短語的出現(xiàn)次數(shù)均不小于第二預設值。
[0013]本發(fā)明提供的索引建立方法及裝置,通過預先建立當前文檔中各高頻短語的索弓丨,以對所述高頻短語進行查詢的技術方案,實現(xiàn)對文檔中各高頻短語的方便、高效的查詢。
【附圖說明】
[0014]圖1為本發(fā)明實施例一提供的一種索引建立方法的流程示意圖;
[0015]圖2為本發(fā)明實施例二提供的一種索引建立裝置的結構示意圖。
【具體實施方式】
[0016]為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述。
[0017]圖1為本發(fā)明實施例一提供的一種索引建立方法的流程示意圖,如圖1所示,所述方法包括:
[0018]101、通過分詞獲得第一文檔中的各個詞,針對所述各個詞中的每個高頻詞,將所述高頻詞和另一與所述高頻詞相鄰且未被合并的高頻詞合并為短語。
[0019]其中,每個高頻詞的出現(xiàn)次數(shù)均不小于第一預設值。在實際應用中,除了需要對高頻短語進行查詢之外,通常也需要對文檔中的詞進行查詢,則相應的,在101中所述通過分詞獲得第一文檔中的各個詞之后,還可以包括:
[0020]獲得所述第一文檔中的各個詞的位置信息;
[0021]將所述第一文檔中各相同的詞的位置信息的集合,作為所述詞在所述第一文檔中的位置信息,生成并存儲第二索引至所述第一文檔對應的索引段,所述第二索引包括所述詞在所述第一文檔中的位置信息。
[0022]通過本實施方式,能夠預先建立文檔中各個詞的索引,并且通過將相同詞的位置信息進行合并,能夠進一步節(jié)省索引所占用的存儲空間。
[0023]102、針對所述短語中的每個高頻短語,生成并存儲第一索引至所述第一文檔對應的索引段,以對所述高頻短語進行查詢,所述第一索引包括所述高頻短語在所述第一文檔中的位置信息。
[0024]其中,每個高頻短語的出現(xiàn)次數(shù)均不小于第二預設值。在實際應用中,為了獲得與所述高頻詞相鄰的詞,在所述通過分詞獲得第一文檔中的各個詞之后,還可以包括:
[0025]針對所述各個詞中的每個高頻詞,獲得所述高頻詞的位置信息和長度;
[0026]針對所述高頻詞的每個位置信息,在其它各高頻詞的位置信息中,若存在第一位置信息與所述高頻詞的位置信息的差值為所述高頻詞的長度,則判定所述第一位置信息對應的聞頻詞與所述聞頻詞相鄰;
[0027]若所述高頻詞和所述第一位置信息對應的高頻詞合并后的短語為高頻短語,則將所述第一位置信息和所述高頻詞的位置信息中,靠前的位置信息作為所述合并后的短語在所述第一文檔中的位置信息之一。
[0028]具體的,在上述實施方式中,所述第一文檔包括一個子文檔??蛇x的,本實施例中所述的第一文檔也可以包括多個子文檔。則相應的,若所述第一文檔包括多個子文檔,則所述詞、高頻詞或高頻短語的位置信息具體可以包括:所述詞、高頻詞或高頻短語所在的子文檔的標識、及其在所述子文檔中的位置信息;進一步相應的,在上述獲得與所述高頻詞相鄰的詞的【具體實施方式】中,所述若存在第一位置信息與所述高頻詞的位置信息的差值為所述高頻詞的長度,則判定所述第一位置信息對應的高頻詞與所述高頻詞相鄰,具體可以包括:
[0029]若存在第一位置信息與所述高頻詞的位置信息處于同一子文檔,且這兩個位置信息的差值為所述高頻詞的長度,則判定所述第一位置信息對應的高頻詞與所述高頻詞相鄰。
[0030]可選的,在本實施例的一種可實施方式中,當當前文檔中需要添加新的文檔時,則需要對添加文檔后的當前文檔的索引進行更新,則相應的,所述針對所述短語中的每個高頻短語,生成并存儲第一索引至所述第一文檔對應的索引段之后,還可以包括:
[0031]獲取各文檔中的高頻短語,合并所述各文檔,針對所述各文檔中的每個高頻短語,檢測所述各文檔對應的索引段中是否均存儲有所述高頻短語的索引;
[0032]若是,則將所述各文檔對應的索引段中,所述高頻短語的位置信息的集合,作為所述高頻短語在合并后的文檔中的位置信息,生成并存儲第三索引至所述合并后的文檔對應的索引段,所述第三索引包括所述高頻短語在所述合并后的文檔中的位置信息。
[0033]具體的,在本實施方式中,在所述檢測所述各文檔對應的索引段中是否均存儲有所述高頻短語的索引之后,還可以包括:
[0034]若存在至少一個文檔對應的索引段中未存儲所述高頻短語的索引,則針對每個第二文檔,獲得所述高頻短語在所述第二文檔中的位置信息,所述第二文檔對應的索引段中未存儲有所述高頻短語的索引;
[0035]將所述高頻短語在所述第二文檔中的位置信息,和所述各文檔中除所述第二文檔以外的其它文檔對應的索引段中存儲的所述高頻短語的位置信息的集合,作為所述高頻短語在所述合并后的文檔中的位置信息。
[0036]其中,所述各文檔即指所述第一文檔和當前需要添加的文檔。同樣的,所述添加的文檔中也可以包括至少一個子文檔。通過本實施方式,能夠有效地實現(xiàn)對當前文檔的索引進行更新。
[0037]再可選的,根據(jù)上述建立的索引,為了實現(xiàn)對高頻短語的查詢,所述方法還可以包括:
[0038]根據(jù)接收到的待檢索短語,檢測當前文檔對應的索引段中是否存在所述待檢索短語的索引;
[0039]若存在,則根據(jù)所述待檢索短語的索引,獲得所述待檢索短語在所述檢索文檔中的位置信息;
[0040]若不存在,則通過分詞獲得所述待檢索短語對應的第一待檢索詞和第二待檢索詞,獲得所述第一待檢索詞和所述第二待檢索詞在當前文檔中的位置信息,將處于同一文檔且相鄰的第一待檢索詞和第二待檢索詞中,位置靠前的詞的位置信息作為所述待檢索短語在當前文檔中的位置信息。
[0041]具體的,若當前文檔對應的索引段中沒有所述待檢索短語的索引,則可以根據(jù)所述文檔中各個詞的索引,通過通常的短語查詢方法,對所述待檢索短語進行查詢,其查詢的具體方法在此不再具體闡述。
[0042]本實施例提供的索引建立方法,通過預先建立當前文檔中各高頻短語的索引,以對所述高頻短語進行查詢的技術方案,實現(xiàn)對文檔中各高頻短語的方便、高效的查詢。
[0043]圖2為本發(fā)明實施例二提供的一種索引建立裝置的結構示意圖,如圖2所示,所述裝置包括:第一合并模塊21和第一處理模塊22 ;
[0044]第一合并模塊21,用于通過分詞獲得第一文檔中的各個詞,針對所述各個詞中的每個高頻詞,將所述高頻詞和另一與所述高頻詞相鄰且未被合并的高頻詞合并為短語;
[0045]第一處理模塊22,用于針對所述短語中的每個高頻短語,生成并存儲第一索引至所述第一文檔對應的索引段,所述第一索引包括所述高頻短語在所述第一文檔中的位置信肩、O
[0046]其中,每個高頻詞的出現(xiàn)次數(shù)均不小于第一預設值,每個高頻短語的出現(xiàn)次數(shù)均不小于第二預設值。
[0047]在實際應用中,除了需要對高頻短語進行查詢之外,通常也需要對文檔中的詞進行查詢,則相應的,所述裝置還可以包括:獲取模塊,用于在所述合并模塊通過分詞獲得第一文檔中的各個詞之后,獲得所述第一文檔中的各個詞的位置信息;第二處理模塊,用于將所述第一文檔中各相同的詞的位置信息的集合,作為所述詞在所述第一文檔中的位置信息,生成并存儲第二索引至所述第一文檔對應的索引段,所述第二索引包括所述詞在所述第一文檔中的位置信息。
[0048]通過本實施方式,能夠預先建立文檔中各個詞的索引,并且通過將相同詞的位置信息進行合并,能夠進一步節(jié)省索引所占用的存儲空間。
[0049]具體的,為了獲得與所述高頻詞相鄰的詞,所述裝置還可以包括:信息獲取模塊,用于在所述通過分詞獲得第一文檔中的各個詞之后,針對所述各個詞中的每個高頻詞,獲得所述高頻詞的位置信息和長度;
[0050]判定模塊,用于針對所述高頻詞的每個位置信息,在其它各高頻詞的位置信息中,若存在第一位置信息與所述高頻詞的位置信息的差值為所述高頻詞的長度,則判定所述第一位置信息對應的高頻詞與所述高頻詞相鄰;
[0051]所述判定模塊,還用于若所述高頻詞和所述第一位置信息對應的高頻詞合并后的短語為高頻短語,則將所述第一位置信息