專利名稱:構(gòu)造索引庫(kù)的方法和設(shè)備以及查詢方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息處理技術(shù),更具體地,涉及構(gòu)造索引庫(kù)的方法和設(shè)備以及利用該 索引庫(kù)進(jìn)行查詢的方法。
背景技術(shù):
傳統(tǒng)的索引結(jié)構(gòu)主要包括索引項(xiàng)詞典和索引數(shù)據(jù)。索引項(xiàng)詞典記錄了所有索引 項(xiàng)。索引項(xiàng)用于在索引構(gòu)造和索引檢索時(shí)查找某個(gè)關(guān)鍵詞,并且包含記錄索引數(shù)據(jù)位置的 記錄項(xiàng)。索引數(shù)據(jù)包含索引的具體信息,例如包含對(duì)應(yīng)的索引項(xiàng)的文檔標(biāo)識(shí)等。圖1示出了簡(jiǎn)化的索引結(jié)構(gòu)示例的示意圖。如圖1所示,該索引結(jié)構(gòu)包括索引項(xiàng) 詞典1和索引數(shù)據(jù)2。索引項(xiàng)詞典1中包含i個(gè)索引項(xiàng)詞匯1、詞匯2、…、詞匯i,其中詞 匯1的索引數(shù)據(jù)是所有包含詞匯1的文檔dll、d21、…、dtl,以此類推。實(shí)際的索引數(shù)據(jù) 根據(jù)需要還可包含其它的統(tǒng)計(jì)信息,例如該索引項(xiàng)在每個(gè)文檔中的頻率、位置等。傳統(tǒng)的索引結(jié)構(gòu)有兩種組織方式單級(jí)索引和多級(jí)索引。圖2示出了一個(gè)包含a、b、d、f、j、k共6個(gè)詞匯的單級(jí)索引的索引項(xiàng)詞典的示例 的示意圖,該索引項(xiàng)詞典以順序方式組織。該索引項(xiàng)詞典在初次被載入內(nèi)存之后,以后都可 以在內(nèi)存中進(jìn)行快速的查找和定位。但是,如果內(nèi)存容量有限,無(wú)法載入所有的索引項(xiàng),則 需要每次載入一定數(shù)目的索引項(xiàng),查找完畢再載入下一批數(shù)據(jù)。例如,如果索引項(xiàng)總量為n, 內(nèi)存容量為k個(gè)索引項(xiàng),則一次查找最多需要n/(k+l)次磁盤(pán)訪問(wèn)。由此可見(jiàn),在索引項(xiàng)數(shù) 目較大的情況下,單級(jí)索引是一種效率較低的方案。多級(jí)索引則通常以多個(gè)層次的樹(shù)等方式組織索引項(xiàng)。圖3示出了一個(gè)包含a、b、 d、f、j、k共6個(gè)詞匯的樹(shù)形方式組織的二級(jí)索引的索引項(xiàng)詞典的示例的示意圖。假設(shè)內(nèi)存 的容量為3個(gè)索引項(xiàng),則6個(gè)索引項(xiàng)被分為兩塊組織,并以兩塊的上層建立一級(jí)索引,形成 一個(gè)二級(jí)索引。如果索引項(xiàng)更多,則依次向上建立樹(shù)形方式組織的多級(jí)索引。在查找時(shí)從 頂端載入,逐級(jí)向下查找,最多需要logkn+l次磁盤(pán)訪問(wèn)。由此可見(jiàn),多級(jí)索引的方法便于組 織大規(guī)模的索引項(xiàng),但是其效率會(huì)隨著索引項(xiàng)規(guī)模的擴(kuò)大而逐漸下降。綜上所述,索引規(guī)模和檢索響應(yīng)速度是索引結(jié)構(gòu)設(shè)計(jì)中存在的矛盾。在傳統(tǒng)的索 引結(jié)構(gòu)中,隨著索引規(guī)模的擴(kuò)大,帶來(lái)了諸如索引項(xiàng)總量龐大無(wú)法全部載入內(nèi)存、或檢索響 應(yīng)速度隨著索引規(guī)模的擴(kuò)大而逐漸下降等的問(wèn)題。
發(fā)明內(nèi)容
在下文中給出了關(guān)于本發(fā)明的簡(jiǎn)要概述,以便提供關(guān)于本發(fā)明的某些方面的基本 理解。應(yīng)當(dāng)理解,這個(gè)概述并不是關(guān)于本發(fā)明的窮舉性概述。它并不是意圖確定本發(fā)明的 關(guān)鍵或重要部分,也不是意圖限定本發(fā)明的范圍。其目的僅僅是以簡(jiǎn)化的形式給出某些概 念,以此作為稍后論述的更詳細(xì)描述的前序。本發(fā)明的至少一個(gè)目的在于提供一種構(gòu)造索引庫(kù)的方法和設(shè)備以及利用該索引 庫(kù)進(jìn)行查詢的方法,其能夠至少克服上述現(xiàn)有技術(shù)的部分缺點(diǎn)和不足,以在支持大規(guī)模索引數(shù)據(jù)的同時(shí)提高整體檢索響應(yīng)速度。本發(fā)明的另一個(gè)目的是提供相應(yīng)的計(jì)算機(jī)程序產(chǎn)品和/或計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供了一種構(gòu)造索引庫(kù)的方法,包 括將一個(gè)或多個(gè)文檔中的詞匯分類為第一類別或第二類別;以及根據(jù)第一類別的詞匯來(lái) 構(gòu)建單級(jí)索引,并根據(jù)第二類別的詞匯來(lái)構(gòu)建多級(jí)索引。在該構(gòu)造索引庫(kù)的方法中,分類步驟可包括判定詞匯是否屬于預(yù)定詞匯集,如果 屬于則將該詞匯分類為第一類別,否則將該詞匯分類為第二類別。在該構(gòu)造索引庫(kù)的方法中,預(yù)定詞匯集可包括高頻查詢?cè)~。在該構(gòu)造索引庫(kù)的方法中,預(yù)定詞匯集可包括中文詞匯集或其子集、英文單詞集 或其子集、中文符號(hào)集或其子集、英文符號(hào)集或其子集、常用數(shù)字中的任意一種或多種。在該構(gòu)造索引庫(kù)的方法中,還可包括將針對(duì)新的一個(gè)或多個(gè)文檔構(gòu)建的新的單級(jí) 索引和多級(jí)索引分別與索引庫(kù)中已有的單級(jí)索引和多級(jí)索引相合并。在該構(gòu)造索引庫(kù)的方法中,構(gòu)建單級(jí)索引可包括以線性表、哈希表或數(shù)組的方式 構(gòu)建單級(jí)索引。為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一實(shí)施例,提供了一種利用如上所述的方法 構(gòu)造的索引庫(kù)進(jìn)行查詢的方法,包括將查詢關(guān)鍵詞分類為第一類別或第二類別;如果該 查詢關(guān)鍵詞屬于第一類別,則在索引庫(kù)的單級(jí)索引中檢索該查詢關(guān)鍵詞以獲取單級(jí)索引數(shù) 據(jù);以及如果該查詢關(guān)鍵詞屬于第二類別,則在索引庫(kù)的多級(jí)索引中檢索該查詢關(guān)鍵詞以 獲取多級(jí)索引數(shù)據(jù)。在該查詢方法中,單級(jí)索引可被預(yù)先存儲(chǔ)在訪問(wèn)速度較快的存儲(chǔ)器中。為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的又一實(shí)施例,提供了一種構(gòu)造索引庫(kù)的設(shè)備,包 括分類器,被配置為將一個(gè)或多個(gè)文檔中的詞匯分類為第一類別或第二類別;以及索引 構(gòu)建器,被配置為根據(jù)第一類別的詞匯來(lái)構(gòu)建單級(jí)索引,并根據(jù)第二類別的詞匯來(lái)構(gòu)建多 級(jí)索引。在該構(gòu)造索引庫(kù)的設(shè)備中,分類器可被配置為判定詞匯是否屬于預(yù)定詞匯集,如 果屬于則將該詞匯分類為第一類別,否則將該詞匯分類為第二類別。在該構(gòu)造索引庫(kù)的設(shè)備中,預(yù)定詞匯集可包括高頻查找詞。在該構(gòu)造索引庫(kù)的設(shè)備中,預(yù)定詞匯集可包括中文詞匯集或其子集、英文單詞集 或其子集、中文符號(hào)集或其子集、英文符號(hào)集或其子集、常用數(shù)字中的任意一種或多種。在該構(gòu)造索引庫(kù)的設(shè)備中,索引構(gòu)建器還可被配置為將針對(duì)新的一個(gè)或多個(gè)文檔 構(gòu)建的新的單級(jí)索引和多級(jí)索引分別與索引庫(kù)中已有的單級(jí)索引和多級(jí)索引相合并。在該構(gòu)造索引庫(kù)的設(shè)備中,索引構(gòu)建器還可被配置為以線性表、哈希表或數(shù)組的 方式構(gòu)建單級(jí)索引。依據(jù)本發(fā)明的其它實(shí)施例,還提供了相應(yīng)的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和計(jì)算機(jī)程序產(chǎn)
P
ΡΠ O根據(jù)本發(fā)明的實(shí)施例,通過(guò)將單級(jí)索引與多級(jí)索引相結(jié)合來(lái)構(gòu)建索引庫(kù),能夠在 支持大規(guī)模索引數(shù)據(jù)的同時(shí)提高整體檢索響應(yīng)速度。通過(guò)以下結(jié)合附圖對(duì)本發(fā)明的最佳實(shí)施例的詳細(xì)說(shuō)明,本發(fā)明的這些以及其它的 優(yōu)點(diǎn)將更加明顯。
本發(fā)明可以通過(guò)參考下文中結(jié)合附圖所給出的描述而得到更好的理解,其中在所 有附圖中使用了相同或相似的附圖標(biāo)記來(lái)表示相同或者相似的部件。所述附圖連同下面的 詳細(xì)說(shuō)明一起包含在本說(shuō)明書(shū)中并且形成本說(shuō)明書(shū)的一部分,而且用來(lái)進(jìn)一步舉例說(shuō)明本 發(fā)明的優(yōu)選實(shí)施例和解釋本發(fā)明的原理和優(yōu)點(diǎn)。在附圖中圖1示出了簡(jiǎn)化的索引結(jié)構(gòu)示例的示意圖;圖2示出了單級(jí)索引的索引項(xiàng)詞典的示例的示意圖;圖3示出了二級(jí)索引的索引項(xiàng)詞典的示例的示意圖;圖4示出了根據(jù)本發(fā)明實(shí)施例的構(gòu)造索引庫(kù)的方法的流程圖;圖5示出了根據(jù)本發(fā)明實(shí)施例的利用本發(fā)明構(gòu)建的索引庫(kù)進(jìn)行查詢的方法的流 程的示意圖;圖6示出了根據(jù)本發(fā)明實(shí)施例的構(gòu)建索引庫(kù)的設(shè)備的示意圖;圖7示出了根據(jù)本發(fā)明另一實(shí)施例的構(gòu)建索引庫(kù)的設(shè)備的示意圖;以及圖8示出了根據(jù)本發(fā)明實(shí)施例的利用本發(fā)明構(gòu)建的索引庫(kù)進(jìn)行查詢的設(shè)備的示 意圖。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,附圖中的元件僅僅是為了簡(jiǎn)單和清楚起見(jiàn)而示出的, 而且不一定是按比例繪制的。例如,附圖中某些元件的尺寸可能相對(duì)于其他元件放大了,以 便有助于提高對(duì)本發(fā)明實(shí)施例的理解。
具體實(shí)施例方式在下文中將結(jié)合附圖對(duì)本發(fā)明的示范性實(shí)施例進(jìn)行詳細(xì)描述。為了清楚和簡(jiǎn)明起 見(jiàn),在說(shuō)明書(shū)中并未描述實(shí)際實(shí)施方式的所有特征。然而,應(yīng)該了解,在開(kāi)發(fā)任何這種實(shí)際 實(shí)施例的過(guò)程中必須做出很多特定于實(shí)施方式的決定,以便實(shí)現(xiàn)開(kāi)發(fā)人員的具體目標(biāo),例 如,符合與系統(tǒng)及業(yè)務(wù)相關(guān)的那些限制條件,并且這些限制條件可能會(huì)隨著實(shí)施方式的不 同而有所改變。此外,還應(yīng)該了解,雖然開(kāi)發(fā)工作有可能是非常復(fù)雜和費(fèi)時(shí)的,但對(duì)得益于 本公開(kāi)內(nèi)容的本領(lǐng)域技術(shù)人員來(lái)說(shuō),這種開(kāi)發(fā)工作僅僅是例行的任務(wù)。在此,還需要說(shuō)明的一點(diǎn)是,為了避免因不必要的細(xì)節(jié)而模糊了本發(fā)明,在附圖和 說(shuō)明中僅僅描述了與根據(jù)本發(fā)明的方案密切相關(guān)的裝置結(jié)構(gòu)和/或處理步驟,而省略了對(duì) 與本發(fā)明關(guān)系不大的、本領(lǐng)域普通技術(shù)人員已知的部件和處理的表示和描述。圖4是示出了根據(jù)本發(fā)明實(shí)施例的構(gòu)造索引庫(kù)的方法的流程圖。如圖4所示,根據(jù)本實(shí)施例的構(gòu)造索引庫(kù)的方法從步驟S401開(kāi)始。在步驟S401 中,將一個(gè)或多個(gè)文檔中的詞匯分類為第一類別或第二類別。該分類可基于預(yù)定的分類標(biāo) 準(zhǔn)。例如,可以判定該詞匯是否屬于預(yù)定詞匯集,如果屬于預(yù)定詞匯集則將該詞匯分類為第 一類別,如果不屬于預(yù)定詞匯集則將該詞匯分類為第二類別。本領(lǐng)域的技術(shù)人員可以根據(jù) 實(shí)際應(yīng)用的需求來(lái)選擇該分類標(biāo)準(zhǔn)或該預(yù)定詞匯集。例如,該預(yù)定詞匯集可以包括高頻查詢?cè)~,其中,高頻查詢?cè)~可以是預(yù)先統(tǒng)計(jì)的查 詢頻率高于預(yù)定閾值的查詢?cè)~。應(yīng)該理解,這種預(yù)先的統(tǒng)計(jì)可能沒(méi)有覆蓋所有的詞匯,因此 統(tǒng)計(jì)結(jié)果不一定是完全準(zhǔn)確的。也可以人工選定高頻查詢?cè)~。
在一個(gè)示例中,預(yù)定詞匯集可以包括中文詞匯集或其子集、英文單詞集或其子集、 中文符號(hào)集或其子集、英文符號(hào)集或其子集、常用數(shù)字中的任意一種或多種。其中,中文符 號(hào)集可以包括中文標(biāo)點(diǎn)符號(hào)等。英文符號(hào)集可以包括英文符號(hào)等。在一個(gè)示例中,預(yù)定詞匯集也可以是任意指定的詞匯集。在一個(gè)示例中,可以預(yù)先確定第一類別的詞匯的數(shù)目為M(M為正整數(shù)),在構(gòu)造索 引庫(kù)的過(guò)程中首先被索引的M個(gè)詞匯被確定為第一類別的詞匯,而其他詞匯為第二類別的 詞匯。也就是說(shuō),對(duì)前M個(gè)詞匯構(gòu)建單級(jí)索引,對(duì)其他詞匯構(gòu)建多級(jí)索引。在步驟S402中,根據(jù)第一類別的詞匯來(lái)構(gòu)建單級(jí)索引,并根據(jù)第二類別的詞匯來(lái) 構(gòu)建多級(jí)索引。這樣,通過(guò)步驟S401和S402的處理,將一個(gè)或多個(gè)文檔中的詞匯分類為第 一類別或第二類別,針對(duì)第一類別的詞匯構(gòu)建單級(jí)索引,并針對(duì)第二類別的詞匯構(gòu)建多級(jí) 索引,從而能夠在利用多級(jí)索引支持大規(guī)模索引數(shù)據(jù)的同時(shí)利用單級(jí)索引來(lái)提高整體檢索 響應(yīng)速度。例如,在基于對(duì)該詞匯是否屬于預(yù)定詞匯集的判定來(lái)進(jìn)行該分類的情況下,針對(duì) 屬于預(yù)定詞匯集的詞匯將構(gòu)建單級(jí)索引,針對(duì)不屬于預(yù)定詞匯集的詞匯將構(gòu)建多級(jí)索引。 這樣,對(duì)于屬于預(yù)定詞匯集的查詢關(guān)鍵詞,查詢對(duì)應(yīng)的單級(jí)索引,從而能夠提高其檢索響應(yīng) 速度。同時(shí),針對(duì)不屬于預(yù)定詞匯集的詞匯構(gòu)建多級(jí)索引,使得可以防止由于單級(jí)索引的索 引項(xiàng)數(shù)目過(guò)大而導(dǎo)致的查詢效率降低,并且可以利用多級(jí)索引來(lái)支持大規(guī)模索引數(shù)據(jù)。例如,在該預(yù)定詞匯集包括高頻查詢?cè)~的情況下,針對(duì)屬于預(yù)定的高頻查詢?cè)~的 詞匯將構(gòu)建單級(jí)索引,針對(duì)不屬于預(yù)定的高頻查詢?cè)~的詞匯將構(gòu)建多級(jí)索引。這樣,由于高 頻查詢?cè)~通常只占詞匯總量的一小部分,因此可以充分利用單級(jí)索引提高整體檢索響應(yīng)速 度。此外,例如,在該預(yù)定詞匯集包括中文詞匯集或其子集、英文單詞集或其子集、中 文符號(hào)集或其子集、英文符號(hào)集或其子集、常用數(shù)字中的任意一種或多種的情況下,通過(guò)針 對(duì)可枚舉的詞匯構(gòu)建單級(jí)索引,可以充分地利用單級(jí)索引來(lái)提高檢索響應(yīng)速度。此外,在根據(jù)本實(shí)施例的構(gòu)造索引庫(kù)的方法中,在索引庫(kù)中已經(jīng)存在先前構(gòu)建的 索引的情況下,還可以將針對(duì)新的一個(gè)或多個(gè)文檔構(gòu)建的新的單級(jí)索引和多級(jí)索引分別與 索引庫(kù)中已有的單級(jí)索引和多級(jí)索引相合并。例如,在采用預(yù)定詞匯集對(duì)第一類詞匯和第 二類詞匯進(jìn)行劃分的情況下,在更新索引庫(kù)的過(guò)程中采用與已有索引庫(kù)構(gòu)建時(shí)相同的預(yù)定 詞匯集。在一個(gè)示例中,也可以將已有的單級(jí)索引中的詞匯認(rèn)為是第一類別的詞匯。也就 是說(shuō),如果新文檔中的詞匯已經(jīng)在單級(jí)索引中存在,則將其認(rèn)為是第一類別的詞匯,否則將 其認(rèn)為是第二類別的詞匯。例如,在首先被索引的M個(gè)詞匯被確定為第一類別的情況下,假 設(shè)已有的單級(jí)索引中的詞匯數(shù)目為P個(gè)(P為正整數(shù))如果P = M,則將這M個(gè)詞匯確定為 第一類別的詞匯,否則在更新索引庫(kù)的過(guò)程中首先被索引的M-P個(gè)新詞匯被確定為第一類 別的詞匯。另外,在根據(jù)本實(shí)施例的構(gòu)造索引庫(kù)的方法中,顯然可以根據(jù)實(shí)際情況和需要使 用任何已知的具體的單級(jí)索引構(gòu)建方法和多級(jí)索引構(gòu)建方法來(lái)構(gòu)建單級(jí)索引和多級(jí)索引。 優(yōu)選地,可以以諸如線性表、哈希表或數(shù)組之類的線性數(shù)據(jù)結(jié)構(gòu)來(lái)構(gòu)建單級(jí)索引。例如,可 以將索引項(xiàng)詞典構(gòu)建成數(shù)組的形式,并且利用數(shù)組元素的下標(biāo)來(lái)指示該數(shù)組元素對(duì)應(yīng)的索 引數(shù)據(jù)的存放地址。因此,為了說(shuō)明書(shū)的簡(jiǎn)潔起見(jiàn),在此就不再對(duì)單級(jí)索引和多級(jí)索引的具體構(gòu)建方法進(jìn)行詳細(xì)描述了。此外,需要說(shuō)明的是,雖然以上結(jié)合圖4所示的流程圖對(duì)根據(jù)本實(shí)施例的構(gòu)造索 引庫(kù)的方法進(jìn)行了描述,但是本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,圖4所示的流程圖僅僅是示例性 的,而不是對(duì)本發(fā)明的范圍的限制,本領(lǐng)域技術(shù)人員完全可以根據(jù)實(shí)際需要對(duì)圖4所示的 流程圖進(jìn)行修改。例如,本領(lǐng)域的技術(shù)人員完全可以根據(jù)實(shí)際檢索系統(tǒng)的性能和功能的需 求來(lái)靈活地選擇和設(shè)置對(duì)文檔中的詞匯進(jìn)行分類的標(biāo)準(zhǔn)或所述預(yù)定詞匯集。還需要指出的是,執(zhí)行上述系列處理的步驟可以自然地按照說(shuō)明的順序按時(shí)間順 序執(zhí)行,但是并不需要一定按照時(shí)間順序執(zhí)行。某些步驟可以并行或彼此獨(dú)立地執(zhí)行。例如,下面將說(shuō)明根據(jù)本發(fā)明的構(gòu)造索引庫(kù)的方法的另一具體示例。在本示例中,配置預(yù)定詞匯集IS,這里將該預(yù)定詞匯集IS設(shè)為可枚舉詞匯集。在 輸入文檔D之后,對(duì)文檔D進(jìn)行分詞處理等處理,在上述的分詞處理中,可以使用任何已知 的分詞方法。然后,根據(jù)所配置的預(yù)定詞匯集IS對(duì)所獲得的待索引詞匯進(jìn)行分類,將其劃分為 兩類索引項(xiàng),即,可枚舉索引項(xiàng)集合Ie= {tel,te2,…,tern},第一類別的詞匯為不可枚舉 索引項(xiàng)集合Iu= {tul,tu2,…,tun},其中,Ie包含m個(gè)元素,Iu包含η個(gè)元素??擅杜e 索引項(xiàng)集合也就是所謂的預(yù)定詞匯集。不可枚舉的索引項(xiàng)的集合具有無(wú)限多個(gè)元素,無(wú)法通過(guò)逐個(gè)枚舉的方式列出所有 可能的成員,例如可包括數(shù)字,序列號(hào)或其他數(shù)字字母組合而成的詞匯??擅杜e索引項(xiàng)的集 合可以包括除了不可枚舉的索引項(xiàng)的集合以外的詞匯,例如所有中文字符、常用中文詞匯、 英文單詞及中英文符號(hào)。考慮到計(jì)算機(jī)內(nèi)存的訪問(wèn)速度要遠(yuǎn)大于硬盤(pán)的訪問(wèn)速度,同時(shí)內(nèi)存容量是有限 的。為了支持大規(guī)模的數(shù)據(jù)量,需要將索引存放在磁盤(pán)上。另一方面,為了獲取更高的檢索 響應(yīng)時(shí)間,需要將一部分索引放在內(nèi)存里。因此,對(duì)于可枚舉索引項(xiàng),可以在內(nèi)存中維護(hù)一 個(gè)所有可枚舉索引項(xiàng)的列表,這樣可以進(jìn)行快速查找。另一方面,對(duì)于不可枚舉索引項(xiàng),由 于其成員過(guò)多,無(wú)法將其全部放入內(nèi)存,因此在磁盤(pán)上維護(hù)一個(gè)多級(jí)索引,以逐級(jí)載入的方 式進(jìn)行查找。此外,考慮到單級(jí)索引對(duì)高頻查詢?cè)~的覆蓋率是影響系統(tǒng)整體性能的因素之一, 因此可枚舉索引項(xiàng)的集合盡可能大。例如,可以定義詞匯類別集合T = {C,Ε,N, S},其中C表示中文字詞及符號(hào),E表 示英文單詞及符號(hào),N表示數(shù)字,S表示除此之外的任意字符數(shù)字序列。這樣,可以使可枚舉 索引項(xiàng)集合Ie包括C和Ε。在一個(gè)示例中還可以進(jìn)行調(diào)整以使得Ie覆蓋更多的高頻檢索 詞。例如,也可以在Ie中加入10000以內(nèi)的數(shù)字,這樣對(duì)這部分?jǐn)?shù)字的查詢也將檢索單級(jí) 索引。接下來(lái),針對(duì)Ie構(gòu)造單級(jí)索引,并針對(duì)Iu構(gòu)造多級(jí)索引。將所構(gòu)造的單級(jí)索引和 多級(jí)索引統(tǒng)一寫(xiě)入索引庫(kù)R= {P,Ie, Iu, D}中,其中D為索引數(shù)據(jù),P為全局信息,P包含 單級(jí)索引Ie和多級(jí)索引Iu的入口地址。由上述可知,根據(jù)本示例的構(gòu)造索引庫(kù)的方法結(jié)合了內(nèi)存形式的單級(jí)索引的速度 優(yōu)勢(shì)和多級(jí)索引的數(shù)據(jù)容量?jī)?yōu)勢(shì),能夠在支持大規(guī)模檢索數(shù)據(jù)的同時(shí)合理增加內(nèi)存使用 量,從而提高了整體檢索響應(yīng)速度。
雖然以上對(duì)根據(jù)本發(fā)明的構(gòu)造索引庫(kù)的方法的另一具體示例進(jìn)行了描述,但是本 領(lǐng)域技術(shù)人員同樣應(yīng)當(dāng)理解,本示例僅僅是示范性的,而不是對(duì)本發(fā)明的范圍的限制,本領(lǐng) 域技術(shù)人員完全可以根據(jù)實(shí)際需要對(duì)其處理流程進(jìn)行變型或修改。例如,本領(lǐng)域的技術(shù)人 員可以根據(jù)實(shí)際應(yīng)用的需求來(lái)設(shè)定所述預(yù)定詞匯集。上述根據(jù)本發(fā)明的實(shí)施例的構(gòu)造索引庫(kù)的方法例如可以由圖6中的構(gòu)造索引庫(kù) 的設(shè)備來(lái)完成。圖6示出了根據(jù)本發(fā)明的實(shí)施例的構(gòu)造索引庫(kù)的設(shè)備的示意圖。如圖6所示,根據(jù)本發(fā)明的實(shí)施例的構(gòu)造索引庫(kù)的設(shè)備604包括分類器602和索 引構(gòu)建器603。分類器602被配置為對(duì)一個(gè)或多個(gè)待索引文檔601進(jìn)行分類處理,將待索引文檔 601中的詞匯分類為第一類別或第二類別。索引構(gòu)建器603被配置為根據(jù)第一類別的詞匯來(lái)構(gòu)建單級(jí)索引,并根據(jù)第二類別 的詞匯來(lái)構(gòu)建多級(jí)索引,所構(gòu)建的單級(jí)索引和多級(jí)索引構(gòu)成了索引庫(kù)605。此外,在根據(jù)本實(shí)施例的構(gòu)造索引庫(kù)的設(shè)備中,在索引庫(kù)中已經(jīng)存在先前構(gòu)建的 索引的情況下,索引構(gòu)建器603還可以將針對(duì)新的一個(gè)或多個(gè)文檔構(gòu)建的新的單級(jí)索引和 多級(jí)索引分別與索引庫(kù)中已有的單級(jí)索引和多級(jí)索引相合并。另外,在根據(jù)本實(shí)施例的構(gòu)造索引庫(kù)的設(shè)備中,顯然可以根據(jù)實(shí)際情況和需要使 用任何已知的具體的單級(jí)索引構(gòu)建方式和多級(jí)索引構(gòu)建方式來(lái)構(gòu)建單級(jí)索引和多級(jí)索引。 例如,索引構(gòu)建器603可以以諸如線性表、哈希表或數(shù)組之類的線性數(shù)據(jù)結(jié)構(gòu)來(lái)構(gòu)建單級(jí) 索引。因此,為了說(shuō)明書(shū)的簡(jiǎn)潔起見(jiàn),在此就不再對(duì)索引構(gòu)建器603的構(gòu)建單級(jí)索引和多級(jí) 索引的具體方式進(jìn)行詳細(xì)描述了。圖7示出了根據(jù)本發(fā)明另一實(shí)施例的構(gòu)建索引庫(kù)的設(shè)備的示意圖。如圖7所示,根據(jù)本實(shí)施例的構(gòu)建索引庫(kù)的設(shè)備701包括分類器702和索引構(gòu)建 器 703。分類器702被配置為對(duì)一個(gè)或多個(gè)待索引文檔704進(jìn)行分類處理,將待索引文檔 704中的詞匯分類為第一類別或第二類別。具體地,分類器702判定待索引文檔704中的詞 匯是否屬于預(yù)定詞匯集705,如果該詞匯屬于預(yù)定詞匯集705則將該詞匯分類為第一類別, 如果該詞匯不屬于預(yù)定詞匯集705則將該詞匯分類為第二類別。例如,預(yù)定詞匯集705可包括高頻查找詞。此外,預(yù)定詞匯集705也可包括中文詞 匯集或其子集、英文單詞集或其子集、中文符號(hào)集或其子集、英文符號(hào)集或其子集、常用數(shù) 字中的任意一種或多種。索引構(gòu)建器703包括單級(jí)索引構(gòu)建器706、多級(jí)索引構(gòu)建器707以及索引融合器 708。單級(jí)索引構(gòu)建器706被配置為根據(jù)第一類別的詞匯來(lái)構(gòu)建單級(jí)索引。多級(jí)索引構(gòu)建 器707被配置為根據(jù)第二類別的詞匯來(lái)構(gòu)建多級(jí)索引。索引融合器708被配置為將單級(jí)索 引構(gòu)建器706和多級(jí)索引構(gòu)建器707所構(gòu)建的單級(jí)索引和多級(jí)索引合成到索引庫(kù)709中。此外,在根據(jù)本實(shí)施例的構(gòu)造索引庫(kù)的設(shè)備中,在索引庫(kù)中已經(jīng)存在先前構(gòu)建的 索引的情況下,索引融合器708還可以將針對(duì)新的一個(gè)或多個(gè)文檔構(gòu)建的新的單級(jí)索引和 多級(jí)索引分別與索引庫(kù)中已有的單級(jí)索引和多級(jí)索引相合并。此外,單級(jí)索引構(gòu)建器706可以以諸如線性表、哈希表或數(shù)組之類的線性數(shù)據(jù)結(jié) 構(gòu)來(lái)構(gòu)建單級(jí)索引。
通過(guò)閱讀上文所描述的根據(jù)本發(fā)明的實(shí)施例的構(gòu)造索引庫(kù)的方法的操作過(guò)程,圖 6和圖7所示的構(gòu)造索引庫(kù)的設(shè)備的上述各個(gè)部件的功能如何實(shí)現(xiàn)就變得非常清楚了,因 此,為了說(shuō)明書(shū)的簡(jiǎn)潔起見(jiàn),在此就不再對(duì)上述各個(gè)部件的功能如何實(shí)現(xiàn)進(jìn)行詳細(xì)描述了。此外,需要說(shuō)明的是,雖然以上結(jié)合圖6和7所示的示意圖對(duì)根據(jù)本實(shí)施例的構(gòu)造 索引庫(kù)的設(shè)備進(jìn)行了描述,但是本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,圖6和7所示的示意圖僅僅是示 例性的,而不是對(duì)本發(fā)明的范圍的限制。本領(lǐng)域技術(shù)人員完全可以根據(jù)實(shí)際需要對(duì)圖6和7 所示的示意圖進(jìn)行變型或更改。例如,本領(lǐng)域的技術(shù)人員完全可以根據(jù)實(shí)際檢索系統(tǒng)的性 能和功能的需求來(lái)靈活地選擇和設(shè)置對(duì)文檔中的詞匯進(jìn)行分類的標(biāo)準(zhǔn)或所述預(yù)定詞匯集。根據(jù)本發(fā)明的實(shí)施例,還提供了一種利用本發(fā)明的構(gòu)建索引庫(kù)的方法所構(gòu)建的索 引庫(kù)來(lái)進(jìn)行查詢的方法以及相應(yīng)的設(shè)備。圖5示出了根據(jù)本發(fā)明實(shí)施例的利用本發(fā)明構(gòu)建的索引庫(kù)進(jìn)行查詢的方法的流 程的示意圖。如圖5所示,本實(shí)施例的查詢方法從步驟S501開(kāi)始。在步驟S501中,將查詢關(guān)鍵 詞分類為第一類別或第二類別。例如,可以判定查詢關(guān)鍵詞是否屬于預(yù)定詞匯集,如果該查 詢關(guān)鍵詞屬于預(yù)定詞匯集則將該查詢關(guān)鍵詞分類為第一類別,如果該查詢關(guān)鍵詞不屬于預(yù) 定詞匯集則將該查詢關(guān)鍵詞分類為第二類別。例如,該預(yù)定詞匯集可包括高頻查找詞。此外,該預(yù)定詞匯集也可包括中文詞匯集 或其子集、英文單詞集或其子集、中文符號(hào)集或其子集、英文符號(hào)集或其子集、常用數(shù)字中 的任意一種或多種。然后,在步驟S502中,如果該查詢關(guān)鍵詞屬于第一類別,則在利用本發(fā)明構(gòu)建的 索引庫(kù)中的單級(jí)索引中檢索該查詢關(guān)鍵詞以獲取對(duì)應(yīng)的單級(jí)索引數(shù)據(jù);如果該查詢關(guān)鍵詞 屬于第二類別,則在利用本發(fā)明構(gòu)建的索引庫(kù)中的多級(jí)索引中檢索該查詢關(guān)鍵詞以獲取對(duì) 應(yīng)的多級(jí)索引數(shù)據(jù)。此外,為了提高檢索響應(yīng)速度,在本實(shí)施例的查詢方法中,可以將單級(jí)索引預(yù)先存 儲(chǔ)在訪問(wèn)速度較快的存儲(chǔ)器(如內(nèi)存)中。這樣,在查詢單級(jí)索引時(shí),只需訪問(wèn)速度較快的 存儲(chǔ)器。因此,在適當(dāng)設(shè)置所述分類的標(biāo)準(zhǔn)的情況下,例如在適當(dāng)設(shè)置所述預(yù)定詞匯集的情 況下,能夠使得大部分檢索操作只需訪問(wèn)速度較快的存儲(chǔ)器,從而能夠在通過(guò)多級(jí)索引支 持大規(guī)模檢索數(shù)據(jù)的同時(shí)大大提供整體檢索響應(yīng)速度。應(yīng)該注意,查詢關(guān)鍵詞可以是對(duì)用戶輸入的查詢?cè)~匯進(jìn)行分詞得到的。本領(lǐng)域的 技術(shù)人員可以采用已知的各種方法進(jìn)行分詞,這里不再詳細(xì)描述。此外,需要說(shuō)明的是,雖然以上結(jié)合圖5所示的流程圖對(duì)根據(jù)本實(shí)施例的利用本 發(fā)明構(gòu)建的索引庫(kù)進(jìn)行查詢的方法進(jìn)行了描述,但是本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,圖5所示 的流程圖僅僅是示例性的,而不是對(duì)本發(fā)明的范圍的限制,本領(lǐng)域技術(shù)人員完全可以根據(jù) 實(shí)際需要對(duì)圖5所示的流程圖進(jìn)行修改。例如,本領(lǐng)域的技術(shù)人員完全可以根據(jù)實(shí)際檢索 系統(tǒng)的性能和功能的需求來(lái)靈活地選擇和設(shè)置對(duì)查詢關(guān)鍵詞進(jìn)行分類的標(biāo)準(zhǔn)或所述預(yù)定 詞匯集。還需要指出的是,執(zhí)行上述系列處理的步驟可以自然地按照說(shuō)明的順序按時(shí)間順 序執(zhí)行,但是并不需要一定按照時(shí)間順序執(zhí)行。某些步驟可以并行或彼此獨(dú)立地執(zhí)行。例如,下面將說(shuō)明利用本發(fā)明構(gòu)造的索引庫(kù)進(jìn)行查詢的方法的另一具體示例。
首先,預(yù)先將利用本發(fā)明構(gòu)建的索引庫(kù)中的單級(jí)索引載入內(nèi)存。然后,對(duì)查詢關(guān)鍵詞進(jìn)行分類,判斷該查詢關(guān)鍵詞是可枚舉索引項(xiàng)還是不可枚舉 索引項(xiàng)。如果該查詢關(guān)鍵詞是可枚舉索引項(xiàng),則在已載入內(nèi)存的單級(jí)索引中進(jìn)行檢索。如 果該查詢關(guān)鍵詞是不可枚舉索引項(xiàng),則在多級(jí)索引中進(jìn)行檢索。如果檢索到對(duì)應(yīng)的索引數(shù) 據(jù),則讀取該索引數(shù)據(jù),并返回結(jié)果。在本示例中,單級(jí)索引被預(yù)先載入內(nèi)存中。因此,在檢索單級(jí)索引時(shí)是內(nèi)存操作。 因此,對(duì)于可枚舉索引項(xiàng)的檢索操作是內(nèi)存查找或直接定位。此外,在本示例中,顯然可以根據(jù)實(shí)際情況和需要使用任何已知的具體的單級(jí)索 引構(gòu)建方法和多級(jí)索引構(gòu)建方法來(lái)構(gòu)建單級(jí)索引和多級(jí)索引。例如,可以以諸如線性表、哈 希表或數(shù)組之類的線性數(shù)據(jù)結(jié)構(gòu)來(lái)構(gòu)建單級(jí)索引。相應(yīng)地,例如,對(duì)于單級(jí)索引,至少可以 采用以下幾種檢索方式(1)載入的單級(jí)索引在內(nèi)存中構(gòu)成如圖2所示的順序線性結(jié)果,可以通過(guò)任意一 種線性查找算法如二分查找或分塊查找來(lái)實(shí)現(xiàn)對(duì)該單級(jí)索引的檢索。(2)對(duì)單級(jí)索引的所有關(guān)鍵詞構(gòu)造hash表來(lái)進(jìn)行檢索。由上述可知,根據(jù)本示例的利用本發(fā)明構(gòu)造的索引庫(kù)進(jìn)行查詢的方法結(jié)合了內(nèi)存 形式的單級(jí)索引的速度優(yōu)勢(shì)和多級(jí)索引的數(shù)據(jù)容量?jī)?yōu)勢(shì),能夠在支持大規(guī)模檢索數(shù)據(jù)的同 時(shí)合理增加內(nèi)存使用量,從而提高了整體檢索響應(yīng)速度。雖然以上對(duì)利用本發(fā)明構(gòu)造的索引庫(kù)進(jìn)行查詢的方法的另一具體示例進(jìn)行了描 述,但是本領(lǐng)域技術(shù)人員同樣應(yīng)當(dāng)理解,本示例僅僅是示范性的,而不是對(duì)本發(fā)明的范圍的 限制,本領(lǐng)域技術(shù)人員完全可以根據(jù)實(shí)際需要對(duì)其處理流程進(jìn)行變型或修改。上述根據(jù)本發(fā)明的實(shí)施例的利用本發(fā)明構(gòu)造的索引庫(kù)進(jìn)行查詢的方法例如可以 由圖8中的利用本發(fā)明構(gòu)建的索引庫(kù)進(jìn)行查詢的設(shè)備來(lái)完成。圖8示出了根據(jù)本發(fā)明實(shí)施 例的利用本發(fā)明構(gòu)建的索引庫(kù)進(jìn)行查詢的設(shè)備的示意圖。如圖8所示,根據(jù)本實(shí)施例的利用本發(fā)明構(gòu)建的索引庫(kù)進(jìn)行查詢的設(shè)備包括關(guān)鍵 詞分類器801和索引檢索器802。關(guān)鍵詞分類器801被配置為將查詢關(guān)鍵詞807分類為第 一類別或第二類別。例如,關(guān)鍵詞分類器801可以判定查詢關(guān)鍵詞807是否屬于預(yù)定詞匯 集,如果查詢關(guān)鍵詞807屬于預(yù)定詞匯集則將該查詢關(guān)鍵詞807分類為第一類別,如果查詢 關(guān)鍵詞807不屬于預(yù)定詞匯集則將該查詢關(guān)鍵詞807分類為第二類別。例如,預(yù)定詞匯集705可包括高頻查找詞。此外,預(yù)定詞匯集705也可包括中文詞 匯集或其子集、英文單詞集或其子集、中文符號(hào)集或其子集、英文符號(hào)集或其子集、常用數(shù) 字中的任意一種或多種。如果查詢關(guān)鍵詞807屬于第一類別,則索引檢索器802在利用本發(fā)明構(gòu)建的索引 庫(kù)中的單級(jí)索引803中檢索查詢關(guān)鍵詞807,以獲取對(duì)應(yīng)的單級(jí)索引數(shù)據(jù)805。如果查詢關(guān)鍵詞807屬于第二類別,則索引檢索器802在利用本發(fā)明構(gòu)建的索引 庫(kù)中的多級(jí)索引804中檢索查詢關(guān)鍵詞807,以獲取對(duì)應(yīng)的多級(jí)索引數(shù)據(jù)806。通過(guò)閱讀上文所描述的根據(jù)本發(fā)明的實(shí)施例的利用本發(fā)明構(gòu)建的索引庫(kù)來(lái)進(jìn)行 查詢的方法的操作過(guò)程,圖8所示的利用本發(fā)明構(gòu)建的索引庫(kù)進(jìn)行查詢的設(shè)備的上述各個(gè) 部件的功能如何實(shí)現(xiàn)就變得非常清楚了,因此,為了說(shuō)明書(shū)的簡(jiǎn)潔起見(jiàn),在此就不再對(duì)上述 各個(gè)部件的功能如何實(shí)現(xiàn)進(jìn)行詳細(xì)描述了。
雖然已經(jīng)詳細(xì)說(shuō)明了本發(fā)明及其優(yōu)點(diǎn),但是應(yīng)當(dāng)理解在不脫離由所附的權(quán)利要求 所限定的本發(fā)明的精神和范圍的情況下可以進(jìn)行各種改變、替代和變換。而且,根據(jù)本發(fā)明的方法和裝置既可以通過(guò)硬件實(shí)現(xiàn),也可以通過(guò)軟件和固件實(shí) 現(xiàn)。在通過(guò)軟件或固件實(shí)現(xiàn)的情況下,從存儲(chǔ)介質(zhì)或網(wǎng)絡(luò)向具有專用硬件結(jié)構(gòu)的計(jì)算機(jī)安 裝構(gòu)成該軟件的程序,該計(jì)算機(jī)在安裝有各種程序時(shí),能夠執(zhí)行各種功能等等。在該計(jì)算機(jī)中,中央處理單元(CPU)根據(jù)只讀存儲(chǔ)器(ROM)中存儲(chǔ)的程序或從存 儲(chǔ)部分加載到隨機(jī)存取存儲(chǔ)器(RAM)的程序執(zhí)行各種處理。在RAM中,也根據(jù)需要存儲(chǔ)當(dāng) CPU執(zhí)行各種處理等等時(shí)所需的數(shù)據(jù)。CPU、ROM和RAM經(jīng)由總線彼此連接。輸入/輸出接 口也連接到總線。下述部件連接到輸入/輸出接口 輸入部分,包括鍵盤(pán)、鼠標(biāo)等等;輸出部 分,包括顯示器,比如陰極射線管(CRT)、液晶顯示器(IXD)等等,和揚(yáng)聲器等等;存儲(chǔ)部分, 包括硬盤(pán)等等;以及通信部分,包括網(wǎng)絡(luò)接口卡比如LAN卡、調(diào)制解調(diào)器等等。通信部分經(jīng) 由網(wǎng)絡(luò)比如因特網(wǎng)執(zhí)行通信處理。根據(jù)需要,驅(qū)動(dòng)器也連接到輸入/輸出接口??刹鹦督?質(zhì)比如磁盤(pán)、光盤(pán)、磁光盤(pán)、半導(dǎo)體存儲(chǔ)器等等根據(jù)需要被安裝在驅(qū)動(dòng)器上,使得從中讀出 的計(jì)算機(jī)程序根據(jù)需要被安裝到存儲(chǔ)部分中。在通過(guò)軟件實(shí)現(xiàn)上述系列處理的情況下,從 網(wǎng)絡(luò)比如因特網(wǎng)或存儲(chǔ)介質(zhì)比如可拆卸介質(zhì)安裝構(gòu)成軟件的程序。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,這種存儲(chǔ)介質(zhì)不局限于其中存儲(chǔ)有程序、與設(shè)備相 分離地分發(fā)以向用戶提供程序的可拆卸介質(zhì)。可拆卸介質(zhì)的例子包含磁盤(pán)(包含軟盤(pán)(注 冊(cè)商標(biāo)))、光盤(pán)(包含光盤(pán)只讀存儲(chǔ)器(CD-ROM)和數(shù)字通用盤(pán)(DVD))、磁光盤(pán)(包含迷你 盤(pán)(MD)(注冊(cè)商標(biāo)))和半導(dǎo)體存儲(chǔ)器?;蛘?,存儲(chǔ)介質(zhì)可以是ROM、存儲(chǔ)部分中包含的硬盤(pán) 等等,其中存有程序,并且與包含它們的設(shè)備一起被分發(fā)給用戶。此時(shí),只要該系統(tǒng)或者設(shè)備具有執(zhí)行程序的功能,則本發(fā)明的實(shí)施方式不局限于 程序,并且該程序也可以是任意的形式,例如,目標(biāo)程序、解釋器執(zhí)行的程序或者提供給操 作系統(tǒng)的腳本程序等。另外,計(jì)算機(jī)通過(guò)連接到因特網(wǎng)上的相應(yīng)網(wǎng)站,并且將依據(jù)本發(fā)明的計(jì)算機(jī)程序 代碼下載和安裝到計(jì)算機(jī)中然后執(zhí)行該程序,也可以實(shí)現(xiàn)本發(fā)明。而且,所述實(shí)施本發(fā)明的程序也可以例如采用一個(gè)或多個(gè)信號(hào)的形式。所述信號(hào) 可以是可從互聯(lián)網(wǎng)站點(diǎn)下載的數(shù)據(jù)信號(hào),或是在載波信號(hào)上提供的數(shù)據(jù)信號(hào),或是以任何 其它形式的數(shù)據(jù)信號(hào)。最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將 一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作 之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體 意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括 那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或 者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并 不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。以上雖然結(jié)合附圖詳細(xì)描述了本發(fā)明的實(shí)施例,但是應(yīng)當(dāng)明白,上面所描述的實(shí) 施方式只是用于說(shuō)明本發(fā)明,而并不構(gòu)成對(duì)本發(fā)明的限制。對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),可 以在不偏離本發(fā)明的精神和范圍的情況下對(duì)上述實(shí)施方式作出各種修改和變更。因此,本 發(fā)明的范圍僅由所附的權(quán)利要求及其等效內(nèi)容來(lái)限定。
11
艦附記1. 一種構(gòu)造索引庫(kù)的方法,包括將一個(gè)或多個(gè)文檔中的詞匯分類為第一類別或第二類別;以及根據(jù)第一類別的詞匯來(lái)構(gòu)建單級(jí)索引,并根據(jù)第二類別的詞匯來(lái)構(gòu)建多級(jí)索引。附記2.如附記1所述的構(gòu)造索引庫(kù)的方法,其中所述分類步驟包括判定所述詞匯是否屬于預(yù)定詞匯集,如果屬于則將所述詞匯分類為第一類別,否 則將所述詞匯分類為第二類別。附記3.如附記2所述的構(gòu)造索引庫(kù)的方法,其中所述預(yù)定詞匯集包括高頻查詢 詞。附記4.如附記2所述的構(gòu)造索引庫(kù)的方法,其中所述預(yù)定詞匯集包括中文詞匯集 或其子集、英文單詞集或其子集、中文符號(hào)集或其子集、英文符號(hào)集或其子集、常用數(shù)字中 的任意一種或多種。附記5.如附記1所述的構(gòu)造索引庫(kù)的方法,還包括將針對(duì)新的一個(gè)或多個(gè)文檔構(gòu) 建的新的單級(jí)索引和多級(jí)索引分別與索引庫(kù)中已有的單級(jí)索引和多級(jí)索引相合并。附記6.如附記1所述的構(gòu)造索引庫(kù)的方法,其中所述構(gòu)建單級(jí)索引包括以線性 表、哈希表或數(shù)組的方式構(gòu)建單級(jí)索引。附記7. —種利用如附記1-6中任一所述的方法構(gòu)造的索引庫(kù)進(jìn)行查詢的方法,包 括將查詢關(guān)鍵詞分類為所述第一類別或所述第二類別;如果所述查詢關(guān)鍵詞屬于所述第一類別,則在所述索引庫(kù)的單級(jí)索引中檢索所述 查詢關(guān)鍵詞以獲取單級(jí)索引數(shù)據(jù);以及如果所述查詢關(guān)鍵詞屬于所述第二類別,則在所述索引庫(kù)的多級(jí)索引中檢索所述 查詢關(guān)鍵詞以獲取多級(jí)索引數(shù)據(jù)。附記8.如附記7所述的檢索索引庫(kù)的方法,其中所述單級(jí)索引被預(yù)先存儲(chǔ)在訪問(wèn) 速度較快的存儲(chǔ)器中。附記9. 一種構(gòu)造索引庫(kù)的設(shè)備,包括分類器,被配置為將一個(gè)或多個(gè)文檔中的詞匯分類為第一類別或第二類別;以及索引構(gòu)建器,被配置為根據(jù)第一類別的詞匯來(lái)構(gòu)建單級(jí)索引,并根據(jù)第二類別的 詞匯來(lái)構(gòu)建多級(jí)索引。附記10.如附記9所述的設(shè)備,其中所述分類器被配置為判定所述詞匯是否屬于 預(yù)定詞匯集,如果屬于則將所述詞匯分類為第一類別,否則將所述詞匯分類為第二類別。附記11.如附記9所述的設(shè)備,其中所述預(yù)定詞匯集包括高頻查找詞。附記12.如附記9所述的設(shè)備,其中所述預(yù)定詞匯集包括中文詞匯集或其子集、英 文單詞集或其子集、中文符號(hào)集或其子集、英文符號(hào)集或其子集、常用數(shù)字中的任意一種或 多種。附記13.如附記9所述的設(shè)備,其中所述索引構(gòu)建器還被配置為將針對(duì)新的一個(gè) 或多個(gè)文檔構(gòu)建的新的單級(jí)索引和多級(jí)索引分別與索引庫(kù)中已有的單級(jí)索引和多級(jí)索引 相合并。附記14.如附記9所述的設(shè)備,其中所述索引構(gòu)建器還被配置為以線性表、哈希表或數(shù)組的方式構(gòu)建所述單級(jí)索引。
權(quán)利要求
1.一種構(gòu)造索引庫(kù)的方法,包括將一個(gè)或多個(gè)文檔中的詞匯分類為第一類別或第二類別;以及根據(jù)第一類別的詞匯來(lái)構(gòu)建單級(jí)索引,并根據(jù)第二類別的詞匯來(lái)構(gòu)建多級(jí)索引。
2.如權(quán)利要求1所述的構(gòu)造索引庫(kù)的方法,其中所述分類步驟包括判定所述詞匯是否屬于預(yù)定詞匯集,如果屬于則將所述詞匯分類為第一類別,否則將 所述詞匯分類為第二類別。
3.如權(quán)利要求2所述的構(gòu)造索引庫(kù)的方法,其中所述預(yù)定詞匯集包括高頻查詢?cè)~。
4.如權(quán)利要求2所述的構(gòu)造索引庫(kù)的方法,其中所述預(yù)定詞匯集包括中文詞匯集或其 子集、英文單詞集或其子集、中文符號(hào)集或其子集、英文符號(hào)集或其子集、常用數(shù)字中的任 意一種或多種。
5.如權(quán)利要求1所述的構(gòu)造索引庫(kù)的方法,還包括將針對(duì)新的一個(gè)或多個(gè)文檔構(gòu)建的 新的單級(jí)索引和多級(jí)索引分別與索引庫(kù)中已有的單級(jí)索引和多級(jí)索引相合并。
6.如權(quán)利要求1所述的構(gòu)造索引庫(kù)的方法,其中所述構(gòu)建單級(jí)索引包括以線性表、哈 希表或數(shù)組的方式構(gòu)建單級(jí)索引。
7.一種利用如權(quán)利要求1-6任一個(gè)所述的方法構(gòu)造的索引庫(kù)進(jìn)行查詢的方法,包括將查詢關(guān)鍵詞分類為所述第一類別或所述第二類別;如果所述查詢關(guān)鍵詞屬于所述第一類別,則在所述索引庫(kù)的單級(jí)索引中檢索所述查詢 關(guān)鍵詞以獲取單級(jí)索引數(shù)據(jù);以及如果所述查詢關(guān)鍵詞屬于所述第二類別,則在所述索引庫(kù)的多級(jí)索引中檢索所述查詢 關(guān)鍵詞以獲取多級(jí)索引數(shù)據(jù)。
8.—種構(gòu)造索引庫(kù)的設(shè)備,包括分類器,被配置為將一個(gè)或多個(gè)文檔中的詞匯分類為第一類別或第二類別;以及索引構(gòu)建器,被配置為根據(jù)第一類別的詞匯來(lái)構(gòu)建單級(jí)索引,并根據(jù)第二類別的詞匯 來(lái)構(gòu)建多級(jí)索引。
9.如權(quán)利要求8所述的設(shè)備,其中所述分類器被配置為判定所述詞匯是否屬于預(yù)定詞 匯集,如果屬于則將所述詞匯分類為第一類別,否則將所述詞匯分類為第二類別。
10.如權(quán)利要求9所述的設(shè)備,其中所述預(yù)定詞匯集包括高頻查找詞。
全文摘要
本發(fā)明提供了構(gòu)造索引庫(kù)的方法和設(shè)備以及查詢方法。一種構(gòu)造索引庫(kù)的方法,包括將一個(gè)或多個(gè)文檔中的詞匯分類為第一類別或第二類別;以及根據(jù)第一類別的詞匯來(lái)構(gòu)建單級(jí)索引,并根據(jù)第二類別的詞匯來(lái)構(gòu)建多級(jí)索引。本發(fā)明能夠在支持大規(guī)模檢索數(shù)據(jù)的同時(shí)提高整體檢索響應(yīng)速度。
文檔編號(hào)G06F17/30GK102135969SQ201010103610
公開(kāi)日2011年7月27日 申請(qǐng)日期2010年1月22日 優(yōu)先權(quán)日2010年1月22日
發(fā)明者于浩, 孟遙, 王主龍, 葛付江, 賈文杰 申請(qǐng)人:富士通株式會(huì)社