亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種倒排索引的構(gòu)建方法和裝置、檢索方法和裝置的制造方法

文檔序號(hào):10580138閱讀:224來(lái)源:國(guó)知局
一種倒排索引的構(gòu)建方法和裝置、檢索方法和裝置的制造方法
【專利摘要】本發(fā)明實(shí)施例提供一種倒排索引的構(gòu)建方法和裝置、檢索方法和裝置,所述構(gòu)建方法包括創(chuàng)建數(shù)組,所述數(shù)組包含m個(gè)元素;將待索引數(shù)據(jù)集合中的m個(gè)數(shù)據(jù)對(duì)應(yīng)至所述數(shù)組的m個(gè)元素;其中,所述待索引數(shù)據(jù)集合中m個(gè)數(shù)據(jù)的屬性構(gòu)成屬性集合,所述屬性集合包含n個(gè)屬性,至少一個(gè)所述屬性對(duì)應(yīng)s個(gè)屬性值,m為正整數(shù),n大于等于零,s大于等于零;對(duì)于所述待索引數(shù)據(jù)集合中的每一數(shù)據(jù),遍歷該數(shù)據(jù)的屬性和相應(yīng)屬性值的組合;對(duì)每一所述組合,設(shè)置該組合對(duì)應(yīng)的位向量為設(shè)定值以得到更新后的鍵值對(duì)集合。本發(fā)明實(shí)施利用位向量的小存儲(chǔ)量、高運(yùn)算特性做了優(yōu)化,可以極大的提高倒排檢索的速度,極大地減少內(nèi)存占用,從而可以提高系統(tǒng)吞吐量和穩(wěn)定性。
【專利說(shuō)明】
-種倒排索引的構(gòu)建方法和裝置、檢索方法和裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及信息捜索技術(shù)領(lǐng)域,具體設(shè)及一種倒排索引的構(gòu)建方法和裝置、檢索 方法和裝置。
【背景技術(shù)】
[0002] 倒排索引是一種索引方法,被用來(lái)存儲(chǔ)在全文捜索下某個(gè)單詞在一個(gè)文檔或者一 組文檔中的存儲(chǔ)位置的映射。它是文檔檢索系統(tǒng)中最常用的數(shù)據(jù)結(jié)構(gòu)。通過(guò)倒排索引,可W 根據(jù)單詞快速獲取包含運(yùn)個(gè)單詞的文檔列表。
[0003] 倒排索引是檢索系統(tǒng)的核屯、部分,負(fù)責(zé)根據(jù)系統(tǒng)輸入的屬性值查找符合條件的記 錄。倒排索引的生命周期中包括創(chuàng)建和使用兩個(gè)環(huán)節(jié)。首先倒排索引系統(tǒng)需要根據(jù)現(xiàn)有的 記錄集合創(chuàng)建倒排索引。然后檢索系統(tǒng)根據(jù)用戶輸入的屬性值在倒排索引中查找符合條件 的記錄ID?,F(xiàn)有的倒排索引技術(shù)應(yīng)用最廣的是Lucene為代表的基于分詞和文檔。
[0004] 基于Lucene的倒排索引技術(shù)比較適合較大待索引數(shù)據(jù)集合的全文檢索的場(chǎng)景,在 運(yùn)種情況下,屬性及屬性值的取值范圍非常大,倒排索引樹(shù)需要存放在磁盤中。但對(duì)于響應(yīng) 時(shí)間十分敏感的檢索系統(tǒng)來(lái)說(shuō),Lucene的檢索效率不能滿足需求。譬如在廣告投放引擎中, 待檢索的數(shù)據(jù)集一般在幾萬(wàn)數(shù)量級(jí)W內(nèi),待檢索的屬性是固定的,屬性值的取值范圍在幾 千數(shù)量級(jí)W內(nèi),并且基本都是精確檢索,沒(méi)有模糊檢索和全文檢索的場(chǎng)景。廣告投放引擎對(duì) 響應(yīng)速度非常敏感,要求倒排索引的檢索耗時(shí)控制在毫秒內(nèi),此時(shí)基于Lucene的倒排索引 并不能滿足檢索的需求。

【發(fā)明內(nèi)容】

[0005] 本發(fā)明實(shí)施例提供一種倒排索引的構(gòu)建方法,所述方法包括:
[0006] 創(chuàng)建數(shù)組,所述數(shù)組包含m個(gè)元素;
[0007] 將待索引數(shù)據(jù)集合中的m個(gè)數(shù)據(jù)對(duì)應(yīng)至所述數(shù)組的m個(gè)元素;其中,所述待索引數(shù) 據(jù)集合中m個(gè)數(shù)據(jù)的屬性構(gòu)成屬性集合,所述屬性集合包含n個(gè)屬性,至少一個(gè)所述屬性對(duì) 應(yīng)S個(gè)屬性值,m為正整數(shù),n大于等于零,S大于等于零;
[000引對(duì)于所述待索引數(shù)據(jù)集合中的每一數(shù)據(jù),遍歷該數(shù)據(jù)的屬性和相應(yīng)屬性值的組 合;
[0009] 對(duì)每一所述組合,設(shè)置該組合對(duì)應(yīng)的位向量為設(shè)定值W得到更新后的鍵值對(duì)集 厶 1=1 O
[0010] 優(yōu)選地,所述設(shè)置該所述組合對(duì)應(yīng)的位向量為設(shè)定值前,所述方法還包括:
[0011] 對(duì)每一所述組合,判斷初始鍵值對(duì)集合中是否有該組合對(duì)應(yīng)的鍵值對(duì),所述該組 合的鍵值對(duì)由該組合及該組合對(duì)應(yīng)的位向量構(gòu)成;
[0012] 若所述初始鍵值對(duì)集合中沒(méi)有該組合對(duì)應(yīng)的鍵值對(duì),則創(chuàng)建該組合對(duì)應(yīng)的鍵值 對(duì);
[0013] 所述設(shè)置該組合對(duì)應(yīng)的位向量為設(shè)定值,包括:
[0014] 設(shè)置該組合對(duì)應(yīng)的鍵值對(duì)中位向量的所有位均為第一設(shè)定值。
[0015] 優(yōu)選地,所述方法還包括:
[0016] 若所述初始鍵值對(duì)集合中有該組合對(duì)應(yīng)的鍵值對(duì),根據(jù)所述數(shù)組獲取該組合對(duì)應(yīng) 的待索引數(shù)據(jù)集合中的數(shù)據(jù)的下標(biāo)值;
[0017] 所述設(shè)置該組合對(duì)應(yīng)的位向量為設(shè)定值,包括:
[0018] 設(shè)置所述位向量的所述下標(biāo)值對(duì)應(yīng)的位置為第二設(shè)定值。
[0019] 優(yōu)選地,至少一個(gè)所述屬性的屬性值為空,所述方法還包括:
[0020] 遍歷所述屬性集合;
[0021] 對(duì)于所述屬性集合中的每一個(gè)所述屬性,在所述更新后的鍵值對(duì)集合中創(chuàng)建特定 組合的鍵值對(duì),設(shè)置位向量所有位置為第一設(shè)定值,其中所述特定組合為屬性值為空的屬 性及其屬性值構(gòu)成的組合。
[0022] 優(yōu)選地,所述方法還包括:
[0023] 遍歷所述待索引數(shù)據(jù)集合;
[0024] 確定所述待索引數(shù)據(jù)集合中一數(shù)據(jù)的一屬性的屬性值為空;
[0025] 確定該數(shù)據(jù)對(duì)應(yīng)所述數(shù)組中的下標(biāo)值;
[0026] 將所述更新后的鍵值對(duì)集合中W所述下標(biāo)值對(duì)應(yīng)的位向量的所述下標(biāo)值對(duì)應(yīng)的 對(duì)應(yīng)位置設(shè)置為所述第二設(shè)定值。
[0027] 另外,本發(fā)明實(shí)施例還提供一種倒排索引的構(gòu)建裝置,所述裝置包括:
[00%]第一創(chuàng)建單元,用于創(chuàng)建數(shù)組,所述數(shù)組包含m個(gè)元素;
[0029] 對(duì)應(yīng)單元,用于將待索引數(shù)據(jù)集合中的m個(gè)數(shù)據(jù)對(duì)應(yīng)至所述數(shù)組的m個(gè)元素;其中, 所述待索引數(shù)據(jù)集合中m個(gè)數(shù)據(jù)的屬性構(gòu)成屬性集合,所述屬性集合包含n個(gè)屬性,至少一 個(gè)所述屬性對(duì)應(yīng)S個(gè)屬性值,m為正整數(shù),n大于等于零,S大于等于零;
[0030] 第一遍歷單元,用于對(duì)于所述待索引數(shù)據(jù)集合中的每一數(shù)據(jù),遍歷該數(shù)據(jù)的屬性 和相應(yīng)屬性值的組合;
[0031] 設(shè)置單元,用于對(duì)每一所述組合,設(shè)置該組合對(duì)應(yīng)的位向量為設(shè)定值W得到更新 后的鍵值對(duì)集合。
[0032] 優(yōu)選地,所述裝置還包括:
[0033] 判斷單元,用于對(duì)每一所述組合,判斷初始鍵值對(duì)集合中是否有該組合對(duì)應(yīng)的鍵 值對(duì),所述該組合的鍵值對(duì)由該組合及該組合對(duì)應(yīng)的位向量構(gòu)成;
[0034] 第二創(chuàng)建單元,用于在所述初始鍵值對(duì)集合中沒(méi)有該組合對(duì)應(yīng)的鍵值對(duì)時(shí),創(chuàng)建 該組合對(duì)應(yīng)的鍵值對(duì);
[0035] 所述設(shè)置單元,具體用于設(shè)置該組合對(duì)應(yīng)的鍵值對(duì)中位向量的所有位均為第一設(shè) 定值。
[0036] 優(yōu)選地,所述裝置還包括:
[0037] 獲取單元,用于若所述初始鍵值對(duì)集合中有該組合對(duì)應(yīng)的鍵值對(duì),根據(jù)所述數(shù)組 獲取該組合對(duì)應(yīng)的待索引數(shù)據(jù)集合中的數(shù)據(jù)的下標(biāo)值;
[0038] 所述設(shè)置單元具體用于設(shè)置所述下標(biāo)值對(duì)應(yīng)的位向量的所有位置為第二設(shè)定值。
[0039] 優(yōu)選地,至少一個(gè)所述屬性的屬性值為空,所述裝置還包括:
[0040] 第二遍歷單元,用于遍歷所述屬性集合;
[0041 ]第=創(chuàng)建單元,用于對(duì)于所述屬性集合中的每一個(gè)所述屬性,在所述更新后的鍵 值對(duì)集合中創(chuàng)建特定組合的鍵值對(duì),
[0042] 第二設(shè)置單元,用于設(shè)置位向量為第一設(shè)定值,其中所述特定組合為屬性值為空 的屬性及其屬性值構(gòu)成的組合。
[0043] 優(yōu)選地,所述裝置還包括:
[0044] 第=遍歷單元,用于遍歷所述待索引數(shù)據(jù)集合;
[0045] 第一確定單元,用于確定所述待索引數(shù)據(jù)集合中一數(shù)據(jù)的一屬性的屬性值為空;
[0046] 第二確定單元,用于確定該數(shù)據(jù)對(duì)應(yīng)所述數(shù)組中的下標(biāo)值;
[0047] 第=設(shè)置單元,用于將所述更新后的鍵值對(duì)集合中所述下標(biāo)值對(duì)應(yīng)的位向量的所 有位置設(shè)置為所述第二設(shè)定值。
[0048] 另外,本發(fā)明實(shí)施例還提供一種倒排索引的檢索方法,所述倒排索引采用本發(fā)明 實(shí)施例提供的倒排索引的構(gòu)建方法構(gòu)建,所述檢索方法包括:
[0049] 遍歷用戶輸入的屬性及屬性值的組合;
[0050] 在鍵值對(duì)集合中查找任意所述組合對(duì)應(yīng)的初始位向量得到初始位向量組,所述初 始位向量組中有P個(gè)初始位向量,P為正整數(shù);
[0051 ]將所述P個(gè)初始位向量做位與運(yùn)算得到新位向量;
[0052]遍歷所述新位向量中所有為所述第二設(shè)定值的位置;
[0053 ]根據(jù)下標(biāo)值從所述數(shù)組中取出相應(yīng)的數(shù)據(jù)。
[0054] 優(yōu)選地,所述在鍵值對(duì)集合中查找任一所述組合對(duì)應(yīng)的初始位向量得到初始位向 量組前,還包括:
[0055] 確定所述鍵值對(duì)集合中不存在與所述用戶輸入的屬性及屬性值的組合相應(yīng)的鍵 值對(duì);
[0056] 所述在鍵值對(duì)集合中查找任一所述組合對(duì)應(yīng)的位向量得到位向量組,包括:
[0057] 在所述鍵值對(duì)集合中查找特定組合對(duì)應(yīng)的位向量作為該任一所述組合對(duì)應(yīng)的位 向量。
[0058] 優(yōu)選地,所述在鍵值對(duì)集合中查找任一所述組合對(duì)應(yīng)的位向量得到位向量組前, 所述方法還包括:
[0059] 確定所述用戶輸入的屬性的屬性值缺失;
[0060] 所述在鍵值對(duì)集合中查找任一所述組合對(duì)應(yīng)的位向量得到位向量組,包括:
[0061] 在所述鍵值對(duì)集合中查找該屬性的特定組合對(duì)應(yīng)的位向量作為該任一所述組合 的位向量。
[0062] 此外,本發(fā)明實(shí)施例提供一種倒排索引的檢索裝置,所述倒排索引采用本發(fā)明實(shí) 施例提供的倒排索引的構(gòu)建方法構(gòu)建,所述檢索裝置包括:
[0063] 第一遍歷單元,用于遍歷用戶輸入的屬性及屬性值的組合;
[0064] 查找單元,用于在鍵值對(duì)集合中查找任意所述組合對(duì)應(yīng)的初始位向量得到初始位 向量組,所述初始位向量組中有P個(gè)初始位向量,P為正整數(shù);
[0065] 運(yùn)算單元,用于將所述P個(gè)初始位向量做位與運(yùn)算得到新位向量;
[0066] 第二遍歷單元,用于遍歷所述新位向量中所有為所述第二設(shè)定值的位置;
[0067] 取出單元,用于根據(jù)下標(biāo)值從所述數(shù)組中取出相應(yīng)的數(shù)據(jù)。
[0068] 優(yōu)選地,所述裝置還包括:
[0069] 第一確定單元,用于確定所述鍵值對(duì)集合中不存在與所述用戶輸入的屬性及屬性 值的組合相應(yīng)的鍵值對(duì);
[0070] 所述查找單元,具體用于在所述鍵值對(duì)集合中查找特定組合對(duì)應(yīng)的位向量作為該 任一所述組合對(duì)應(yīng)的位向量。
[0071] 優(yōu)選地,所述裝置還包括:
[0072] 第二確定單元,用于確定所述用戶輸入的屬性的屬性值缺失;
[0073] 所述查找單元,具體用于在所述鍵值對(duì)集合中查找該屬性的特定組合對(duì)應(yīng)的位向 量作為該任一所述組合的位向量。
[0074] 本發(fā)明實(shí)施例提供一種倒排索引的構(gòu)建方法、構(gòu)建裝置、檢索方法W及檢索裝置。 本發(fā)明實(shí)施例采用數(shù)組實(shí)現(xiàn)了數(shù)據(jù)集合中任意數(shù)據(jù)類型的數(shù)據(jù)和位向量的對(duì)應(yīng)關(guān)系。本發(fā) 明實(shí)施利用位向量的小存儲(chǔ)量、高運(yùn)算特性做了優(yōu)化,可W極大的提高倒排檢索的速度,極 大地減少內(nèi)存占用,從而可W提高系統(tǒng)吞吐量和穩(wěn)定性。
【附圖說(shuō)明】
[0075] 此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申 請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:
[0076] 圖1是本發(fā)明實(shí)施例提供的倒排索引的構(gòu)建方法的流程示意圖;
[0077] 圖2是本發(fā)明實(shí)施例提供的倒排索引的構(gòu)建裝置的結(jié)構(gòu)示意圖;
[0078] 圖3是本發(fā)明實(shí)施例提供的倒排索引的檢索方法的流程示意圖;
[0079] 圖4是本發(fā)明實(shí)施例提供的倒排索引的檢索裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0080] 如在說(shuō)明書及權(quán)利要求當(dāng)中使用了某些詞匯來(lái)指稱特定組件。本領(lǐng)域技術(shù)人員應(yīng) 可理解,硬件制造商可能會(huì)用不同名詞來(lái)稱呼同一個(gè)組件。本說(shuō)明書及權(quán)利要求并不W名 稱的差異來(lái)作為區(qū)分組件的方式,而是W組件在功能上的差異來(lái)作為區(qū)分的準(zhǔn)則。如在通 篇說(shuō)明書及權(quán)利要求當(dāng)中所提及的"包含"為一開(kāi)放式用語(yǔ),故應(yīng)解釋成"包含但不限定 于"。"大致"是指在可接收的誤差范圍內(nèi),本領(lǐng)域技術(shù)人員能夠在一定誤差范圍內(nèi)解決所述 技術(shù)問(wèn)題,基本達(dá)到所述技術(shù)效果。此外,"禪接"一詞在此包含任何直接及間接的電性禪接 手段。因此,若文中描述一第一裝置禪接于一第二裝置,則代表所述第一裝置可直接電性禪 接于所述第二裝置,或通過(guò)其他裝置或禪接手段間接地電性禪接至所述第二裝置。說(shuō)明書 后續(xù)描述為實(shí)施本申請(qǐng)的較佳實(shí)施方式,然所述描述乃W說(shuō)明本申請(qǐng)的一般原則為目的, 并非用W限定本申請(qǐng)的范圍。本申請(qǐng)的保護(hù)范圍當(dāng)視所附權(quán)利要求所界定者為準(zhǔn)。
[0081] 如圖1所示,本發(fā)明實(shí)施例提供一種倒排索引的構(gòu)建方法,該方法可W包括W下步 驟:
[0082] 步驟SlOO:創(chuàng)建數(shù)組,所述數(shù)組包含N的元素。
[0083] 步驟S102:將待索引數(shù)據(jù)集合中的m個(gè)數(shù)據(jù)對(duì)應(yīng)至所述數(shù)組的m個(gè)元素;其中,所述 待索引數(shù)據(jù)集合中m個(gè)數(shù)據(jù)的屬性構(gòu)成屬性集合,所述屬性集合包含n個(gè)屬性,至少一個(gè)所 述屬性對(duì)應(yīng)S個(gè)屬性值,m為正整數(shù),n大于等于零,S大于等于零。
[0084]創(chuàng)建的數(shù)組A的大小與待索引數(shù)據(jù)集合T的大小相同,待索引數(shù)據(jù)集合T為{Ti, T2, ...,Tm-i,Tm}。將待索引數(shù)據(jù)集合T中的所有數(shù)據(jù)放入A中,則T的中的每一個(gè)數(shù)據(jù)和A的中 每一個(gè)元素 W及A中的下標(biāo)值建立起對(duì)應(yīng)關(guān)系如表所示: 「nno。 主一
[0086] T中的數(shù)據(jù)可W是任意數(shù)據(jù)格式。通過(guò)數(shù)組A的轉(zhuǎn)換,T中的每一個(gè)數(shù)據(jù)可W用A中 的下標(biāo)值來(lái)表示。
[0087] 需要說(shuō)明的是,在表一所述的對(duì)應(yīng)關(guān)系中,數(shù)組A中的數(shù)據(jù)順序可W是任意的,只 需要把T中的數(shù)據(jù)一一對(duì)應(yīng)到數(shù)組A中即可。所W,同于同一個(gè)待索引數(shù)據(jù)集合T,某次生成 的倒排索引和下次生成倒排索引時(shí),T中的某個(gè)數(shù)據(jù)對(duì)應(yīng)的數(shù)組A中的下標(biāo)值可能不同。
[0088] 步驟S104:對(duì)于待索引數(shù)據(jù)集合中的每一數(shù)據(jù),遍歷該數(shù)據(jù)的屬性和相應(yīng)屬性值 的組合。
[0089] 待索引數(shù)據(jù)集合T中的每一數(shù)據(jù)Ti(0<i<m)可能有n個(gè)屬性,如該n個(gè)屬性是可檢 索的屬性,運(yùn)n個(gè)可檢索的屬性構(gòu)成屬性集合D,屬性集合D為{Di,化,...,Dn-i,Dn}。該屬性集 合D可W是可變的也可W是固定不變的,例如在廣告引擎應(yīng)用場(chǎng)景,該屬性集合D可W是固 定不變的,不會(huì)因?yàn)門的大小而變化,所WD的大小大于或者等于T中每個(gè)數(shù)據(jù)的所有可檢索 的屬性之和。
[0090] T中所有數(shù)據(jù)的屬性值集合為V:{Vl,V2, ...,Vn-IiVnhV中每個(gè)屬性值依然是一個(gè) 集合:如屬性Dk(0<k<n)的所有屬性值集合是Vk,并且Vk的集合大小為Sk,則Vk可表示為: IVk-I,Vk-2,...,Vk-SkKV表示的是T中所有數(shù)據(jù)的屬性值集合。V的大小小于或等于用戶輸入 的屬性檢索值集合大小。
[0091] 步驟S106:對(duì)每一所述組合,設(shè)置該組合對(duì)應(yīng)的位向量為設(shè)定值W得到更新后的 鍵值對(duì)集合。
[0092] 鍵值對(duì)集合I可W采用化ShMap實(shí)現(xiàn),或者采用數(shù)組等數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。
[0093] 遍歷T,對(duì)比每一個(gè)數(shù)據(jù)Tl,遍歷Tl的所有可被檢索的屬性和屬性值的組合。
[0094] 倒排索引中每一個(gè)屬性和該屬性的每一個(gè)屬性值的組合對(duì)應(yīng)一個(gè)位向量。位向量 指的是由二進(jìn)制位(bit)組成的向量。具體表現(xiàn)為一個(gè)bit數(shù)組,數(shù)組元素為bit,可W只有0 或1兩種取值,可用于表示兩種狀態(tài)值。結(jié)合對(duì)應(yīng)關(guān)系數(shù)組A,位向量中第i位的bit值就可W 標(biāo)識(shí)A[i]對(duì)應(yīng)的T中數(shù)據(jù)Tl是否命中此屬性的屬性值的檢索。
[00M] -些實(shí)施例中,在執(zhí)行上述步驟S106之前,還可W首先執(zhí)行下述步驟一和步驟二:
[0096] 步驟一:對(duì)每一所述組合,判斷初始鍵值對(duì)集合中是否有該組合對(duì)應(yīng)的鍵值對(duì),所 述該組合的鍵值對(duì)由該組合及該組合對(duì)應(yīng)的位向量構(gòu)成;
[0097] 步驟二:若所述初始鍵值對(duì)集合中沒(méi)有該組合對(duì)應(yīng)的鍵值對(duì),則創(chuàng)建該組合對(duì)應(yīng) 的鍵值對(duì);
[0098] 此時(shí),上述步驟S106具體可W采用如下方式實(shí)現(xiàn):
[0099] 設(shè)置該組合對(duì)應(yīng)的鍵值對(duì)中位向量的所有位均為第一設(shè)定值。
[0100] 運(yùn)里第一設(shè)定值可W是0。
[0101] 另外,如果初始鍵值對(duì)集合中有該組合對(duì)應(yīng)的鍵值對(duì),則根據(jù)數(shù)組得到該組合對(duì) 應(yīng)的待索引數(shù)據(jù)集合中的數(shù)據(jù)的下標(biāo)值。
[0102] 如果初始鍵值對(duì)集合中有相應(yīng)的鍵值對(duì),則根據(jù)數(shù)組A可得到Tl(該數(shù)據(jù)為Tl時(shí))的 下標(biāo)值,則將位向量的第i位置設(shè)置為第二設(shè)定值。運(yùn)里該第二設(shè)定值可W是1。
[0103] -些實(shí)施例中,位向量的第i位置為1,表明其對(duì)應(yīng)的數(shù)據(jù)(數(shù)組A的第i位數(shù)據(jù)Tl) 命中了運(yùn)個(gè)鍵值(屬性+屬性值組合),即如果用戶用運(yùn)個(gè)組合(屬性+屬性值的組合)檢索的 話,可W檢索到Ti。需要說(shuō)明的是,有些屬性具有屬性值,而有些屬性的屬性值不存在或者 為空。此時(shí),上述待排索引的構(gòu)建方法還可W包括W下步驟:
[0104]首先,遍歷屬性集合D;
[0105] 然后,對(duì)于屬性集合中的每一個(gè)屬性,在更新后的鍵值對(duì)集合I中創(chuàng)建特定組合 (例如該特定組合采用化-Other)的鍵值對(duì),位向量所有位置設(shè)置為第一設(shè)定值,其中特定 組合為屬性值為空的屬性及其屬性值構(gòu)成的組合。
[0106] 此外,一些實(shí)施例中,上述倒排索引的構(gòu)建方法還可W包括W下步驟:
[0107] 首先,遍歷待索引數(shù)據(jù)集合T;
[0108] 然后,確定T中的某一數(shù)據(jù)Tl的某一屬性Dk的屬性值為空或者不存在;
[0109] 確定該某一數(shù)據(jù)Tl對(duì)應(yīng)的數(shù)組A中的下標(biāo)值i;
[0110] 將更新后的鍵值對(duì)集合中W下標(biāo)值i對(duì)應(yīng)的位向量的下標(biāo)值對(duì)應(yīng)的對(duì)應(yīng)位置設(shè)置 為第二設(shè)定值。運(yùn)里第二設(shè)定值可W是1。
[0111] 上述步驟表明數(shù)據(jù)集合T中的任一數(shù)據(jù)Tl與屬性集合D中的任一屬性Dk無(wú)關(guān)。通過(guò) Dk的任何一個(gè)屬性值都可W檢索到Ti。
[0112] 采用上述倒排索引的構(gòu)建方法,最終形成的倒排索引的數(shù)據(jù)結(jié)構(gòu)可W是如下所示 的Key (屬性-屬性值)-Value(位向量)鍵值對(duì)集合I: 「rn 1
[0114]其中,Key的取值范圍是數(shù)據(jù)集合T中所有數(shù)據(jù)的屬性和屬性值的所有組合,所W 所有組合的范圍大小等于屬性值集合V中所有元素的集合大小之和。Value是相應(yīng)的位向 量。位向量某一位取值為1,則表示對(duì)應(yīng)數(shù)據(jù)集合T中的數(shù)據(jù)滿足相應(yīng)屬性和屬性值的檢索 要求,根據(jù)相應(yīng)屬性和屬性值檢索的話,可W命中此數(shù)據(jù)。
[0115] 需要說(shuō)明的是,每條數(shù)據(jù)的屬性可能不多,可能不會(huì)覆蓋屬性集合中的所有屬性。 另外,數(shù)據(jù)集和T對(duì)應(yīng)的所有屬性的屬性值集合一般來(lái)說(shuō)不能覆蓋屬性的所有可能取值。運(yùn) 兩種情況都會(huì)導(dǎo)致實(shí)際應(yīng)用中輸入的待檢索條件("屬性+屬性值"組合)不能被倒排索引覆 蓋到。
[0116] 針對(duì)運(yùn)種情況,可W創(chuàng)建一個(gè)特定組合一-由"屬性+屬性值"組合作為鍵值,譬如 "屬性+Other"組合,運(yùn)個(gè)特定組合的值(也就是運(yùn)個(gè)位向量)可W初始化全為0。
[0117] Dk-Other的作用= Dk-Other用于標(biāo)識(shí)沒(méi)有在Dk屬性上設(shè)置屬性值的數(shù)據(jù)。如果數(shù)據(jù) 集T中某個(gè)數(shù)據(jù)Tl在某個(gè)屬性Dk中沒(méi)有屬性值,即Tl在Dk運(yùn)個(gè)屬性上沒(méi)有設(shè)置檢索限制,Dk屬 性的任何一個(gè)屬性值都應(yīng)該能檢索到Ti。那么Ti在Dk-Other對(duì)應(yīng)的位向量相應(yīng)位置上置為 1,其中l(wèi)《k《n。
[0118] Dk-Other是一定存在的,對(duì)于每一個(gè)屬性,都會(huì)有一個(gè)屬性-Other為K巧的鍵值對(duì) 存在。
[0119] -些實(shí)施例中,位向量的長(zhǎng)度是固定的,等于數(shù)據(jù)集合的大小。其中值為1的位表 示命中檢索條件的數(shù)據(jù);值為0的位表示未命中檢索條件的數(shù)據(jù)。
[0120] 本發(fā)明一些實(shí)施例采用鍵值對(duì)中的"值"(位向量的一個(gè)位)用于標(biāo)識(shí)某條數(shù)據(jù)是 否命中相應(yīng)的"屬性+屬性值"組合。把位和任意格式的數(shù)據(jù)關(guān)聯(lián)起來(lái),把數(shù)據(jù)放到數(shù)組中, 用數(shù)據(jù)在數(shù)組中的下標(biāo)值(一個(gè)數(shù)字)來(lái)定位其在位向量中的位置。
[0121] 另外,本發(fā)明實(shí)施例還提供一種倒排索引的構(gòu)建裝置,如圖2所示,倒排索引的構(gòu) 建裝置可W包括:
[0122] 第一創(chuàng)建單元201,用于創(chuàng)建數(shù)組,所述數(shù)組包含m個(gè)元素;
[0123] 對(duì)應(yīng)單元202,用于將待索引數(shù)據(jù)集合中的m個(gè)數(shù)據(jù)對(duì)應(yīng)至所述數(shù)組的m個(gè)元素;其 中,所述待索引數(shù)據(jù)集合中m個(gè)數(shù)據(jù)的屬性構(gòu)成屬性集合,所述屬性集合包含n個(gè)屬性,至少 一個(gè)所述屬性對(duì)應(yīng)S個(gè)屬性值,m為正整數(shù),n大于等于零,S大于等于零;
[0124] 第一遍歷單元203,用于對(duì)于所述待索引數(shù)據(jù)集合中的每一數(shù)據(jù),遍歷該數(shù)據(jù)的屬 性和相應(yīng)屬性值的組合;
[0125] 設(shè)置單元304,用于對(duì)每一所述組合,設(shè)置該組合對(duì)應(yīng)的位向量為設(shè)定值W得到更 新后的鍵值對(duì)集合。
[01%] 優(yōu)選地,所述裝置還可W包括:
[0127] 判斷單元,用于對(duì)每一所述組合,判斷初始鍵值對(duì)集合中是否有該組合對(duì)應(yīng)的鍵 值對(duì),所述該組合的鍵值對(duì)由該組合及該組合對(duì)應(yīng)的位向量構(gòu)成;
[0128] 第二創(chuàng)建單元,用于在所述初始鍵值對(duì)集合中沒(méi)有該組合對(duì)應(yīng)的鍵值對(duì)時(shí),創(chuàng)建 該組合對(duì)應(yīng)的鍵值對(duì);
[0129] 所述設(shè)置單元,具體用于設(shè)置該組合對(duì)應(yīng)的鍵值對(duì)中位向量的所有位均為第一設(shè) 定值。
[0130] 優(yōu)選地,所述裝置還可W包括:
[0131] 獲取單元,用于若所述初始鍵值對(duì)集合中有該組合對(duì)應(yīng)的鍵值對(duì),根據(jù)所述數(shù)組 獲取該組合對(duì)應(yīng)的待索引數(shù)據(jù)集合中的數(shù)據(jù)的下標(biāo)值;
[0132] 所述設(shè)置單元具體用于設(shè)置所述位向量的所述下標(biāo)值對(duì)應(yīng)的位置為第二設(shè)定值。
[0133] 優(yōu)選地,一些實(shí)施例中,至少一個(gè)所述屬性的屬性值為空,所述裝置還可W包括:
[0134] 第二遍歷單元,用于遍歷所述屬性集合;
[0135] 第=創(chuàng)建單元,用于對(duì)于所述屬性集合中的每一個(gè)所述屬性,在所述更新后的鍵 值對(duì)集合中創(chuàng)建特定組合的鍵值對(duì),
[0136] 第二設(shè)置單元,用于設(shè)置位向量為第一設(shè)定值,其中所述特定組合為屬性值為空 的屬性及其屬性值構(gòu)成的組合。
[0137] 優(yōu)選地,所述裝置還可W包括:
[0138] 第=遍歷單元,用于遍歷所述待索引數(shù)據(jù)集合;
[0139] 第一確定單元,用于確定所述待索引數(shù)據(jù)集合中一數(shù)據(jù)的一屬性的屬性值為空;
[0140] 第二確定單元,用于確定該數(shù)據(jù)對(duì)應(yīng)所述數(shù)組中的下標(biāo)值;
[0141] 第=設(shè)置單元,用于將所述更新后的鍵值對(duì)集合中W所述下標(biāo)值對(duì)應(yīng)的位向量的 所述下標(biāo)值對(duì)應(yīng)的對(duì)應(yīng)位置設(shè)置為所述第二設(shè)定值。
[0142] 如圖3所示,本發(fā)明實(shí)施例還提供一種倒排索引的檢索方法,該倒排索引采用上述 實(shí)施例所述的倒排索引的構(gòu)建方法構(gòu)建,該方法可W包括如下步驟:
[0143] 步驟S300:遍歷用戶輸入的屬性及屬性值的組合。
[0144] 步驟S302:在鍵值對(duì)集合中查找任一屬性及屬性值的組合對(duì)應(yīng)的初始位向量得到 初始位向量組,初始位向量組中有P個(gè)初始位向量,其中P為正整數(shù)。
[0145] 步驟S304:將P個(gè)初始位向量做位與運(yùn)算得到新位向量。
[0146] 步驟S306:遍歷新位向量中所有為第二設(shè)定值的位置。運(yùn)里的第二設(shè)定值為1。
[0147] 步驟S308:根據(jù)下標(biāo)值從數(shù)組中取出相應(yīng)的數(shù)據(jù)。
[0148] 一些實(shí)施例中,執(zhí)行步驟S302前,所述方法還可W首先確定鍵值對(duì)集合中不存在 與用戶輸入的屬性及屬性值的組合相應(yīng)的鍵值對(duì);
[0149] 此時(shí),步驟S302具體是,在鍵值對(duì)集合中查找特定組合對(duì)應(yīng)的位向量作為該任一 組合對(duì)應(yīng)的位向量。
[0150] 另外一些實(shí)施例中,執(zhí)行步驟S302前,所述方法還可W首先確定用戶輸入的屬性 的屬性值缺失;
[0151] 此時(shí)在鍵值對(duì)集合中查找任一所述組合對(duì)應(yīng)的位向量得到位向量組,具體為在所 述鍵值對(duì)集合中查找該屬性的特定組合對(duì)應(yīng)的位向量作為該任一所述組合的位向量。
[0152] 用戶輸入的屬性檢索值集合大于等于屬性值集合V中所有屬性值個(gè)數(shù),所W根據(jù) 用戶輸入的屬性和屬性值組合在鍵值對(duì)集合I中可能找不到對(duì)應(yīng)的記錄。此時(shí)使用特定組 合Dk-O化er作為K巧再次檢索鍵值對(duì)集合I,作為位向量化。
[0153] 如果用戶輸入的屬性個(gè)數(shù)小于n(屬性集合D的大小),即某項(xiàng)屬性的屬性值缺 失--假設(shè)為Dk,則使用特定組合Dk-Other作為K巧檢索鍵值對(duì)集合I,作為位向量Bk。其中 此處的Bk即為該任一所述組合的位向量。
[0154] 經(jīng)過(guò)第一步遍歷,最終得到n(屬性集合D的大小)個(gè)位向量:{Bi,B2, . . .,Bn-i,Bn}。 將運(yùn)n個(gè)位向量做位與運(yùn)算,得到位向量B。
[0155] 遍歷位向量B中所有為1的位置,根據(jù)下標(biāo)值從數(shù)組A中取出相應(yīng)的數(shù)據(jù)。最終得到 的集合即為檢索結(jié)果。
[0156] 此外,一些實(shí)施例還提供一種倒排索引的檢索裝置,如圖4所示,該倒排索引的檢 索裝置可W具有如下結(jié)構(gòu):
[0157]第一遍歷單元401,用于遍歷用戶輸入的屬性及屬性值的組合;
[015引查找單元402,用于在鍵值對(duì)集合中查找任意所述組合對(duì)應(yīng)的初始位向量得到初 始位向量組,所述初始位向量組中有P個(gè)初始位向量,P為正整數(shù);
[0159] 運(yùn)算單元403,用于將所述P個(gè)初始位向量做位與運(yùn)算得到新位向量;
[0160] 第二遍歷單元404,用于遍歷所述新位向量中所有為所述第二設(shè)定值的位置;
[0161] 取出單元405,用于根據(jù)下標(biāo)值從所述數(shù)組中取出相應(yīng)的數(shù)據(jù)。
[0162] 優(yōu)選地,所述檢索裝置還可W包括第一確定單元,所述第一確定單元用于確定所 述鍵值對(duì)集合中不存在與所述用戶輸入的屬性及屬性值的組合相應(yīng)的鍵值對(duì);
[0163] 所述查找單元,具體用于在所述鍵值對(duì)集合中查找特定組合對(duì)應(yīng)的位向量作為該 任一所述組合對(duì)應(yīng)的位向量。
[0164] -些實(shí)施例中,所述檢索裝置還可W包括第二確定單元,所述第二確定單元用于 確定所述用戶輸入的屬性的屬性值缺失;
[0165] 所述查找單元,具體用于在所述鍵值對(duì)集合中查找該屬性的特定組合對(duì)應(yīng)的位向 量作為該任一所述組合的位向量。
[0166] 作為一個(gè)具體實(shí)例,DSP投放引擎中的倒排索引實(shí)現(xiàn)方式可W如下:
[0167] DSP廣告投放引擎中待檢索數(shù)據(jù)集合T是所有投放單ID組成的集合。
[0168] 屬性集合D是定向條件集合,大小為13,包括地域、頻道、操作系統(tǒng)、設(shè)備類型、關(guān)鍵 字等。為簡(jiǎn)化說(shuō)明,假設(shè)D大小為3: {area,channel,os}。
[0169] 每一個(gè)投放的定向條件值構(gòu)成了屬性值集合V。如下所示:
[0170]
[0171 ] 在area定向上,c3定投北京,c5定投上海,c4,c2,cl通投。
[0172] 在channel定向上,c3定投s,c4定投s,c2定投P或s,c5,cl通投。
[0173]在OS定向上,c5定投l,c4定投1或0,c2定投2,(:1定投2或0,。3通投。(〇3定投值是枚 舉,譬如0表示windows,1表示an化oid,2表示ios等)
[0174] 遍歷所有投放的定向條件數(shù)據(jù)可W得到鍵值對(duì)集合I,在投放引擎中,鍵值對(duì)集合 I用化ShMap實(shí)現(xiàn),可W實(shí)現(xiàn)0(1)的查找效率。位向量用java自帶的BitSet類表示。
[0175] 假設(shè)數(shù)據(jù)集合T如下:{Cl,c2,c3,c4}。
[0176] 得到的A如下:k3,c5,c4,c2,cl]。
[0177] 對(duì)應(yīng)關(guān)系如下: 「ni7Rl
[0179]得到的鍵值對(duì)集合巧日下: rniR〇i
[0181 ] Value中數(shù)字標(biāo)識(shí)一個(gè)位向量,每一位是一個(gè)二進(jìn)制數(shù)D
[0182] 從I的位向量中可W看到,如果某個(gè)投放在對(duì)應(yīng)的定向上可投,則相應(yīng)位置為1。對(duì) 于通投的情況,此定向的所有位向量對(duì)應(yīng)位置都是1。
[0183] 檢索時(shí),
[0184] -些實(shí)施例中,檢索請(qǐng)求的條件如下: 「018 引
[0186] 根據(jù)請(qǐng)求的屬性和屬性值拼成巧巾組合:
[0187] {area-北京,channel-v,OS-I}。
[0188] 根據(jù)area-北京做Key,從I中檢索得到位向量10111
[0189] 根據(jù)Channel-V檢索不到數(shù)據(jù),因?yàn)閏hannel的請(qǐng)求值V超過(guò)了倒排索引中屬性值 集合。此時(shí)用channel-other檢索得到位向量OlOOl
[0190] 同理根據(jù)OS-I檢索得到位向量11100。
[0191] S個(gè)位向量做位與運(yùn)算:10111&01001&11100 = 0。即根據(jù)此定向條件檢索不到數(shù) 據(jù)。
[0192] -些實(shí)施例中,檢索請(qǐng)求的條件如下(與1相比,area定向變?yōu)樯虾#?「01931
[0194] 得到S個(gè)位向量做位與運(yùn)算011111&01001&11100 = 01000。第2位(從左往右數(shù))為 1,到數(shù)組A中得到第2位(從左往右數(shù))數(shù)據(jù)為c5,即為檢索結(jié)果。
[01M] -些實(shí)施例中,檢索請(qǐng)求的條件如下: 「oml
[0197] 根據(jù)area和channel定向分別得到兩個(gè)位向量:10111,11111。
[0198] 檢索請(qǐng)求中缺失OS定向的檢索值,所W根據(jù)OS-other得到OS定向的位向量: 1000 Oo
[0199] 運(yùn)3個(gè)位向量做位與運(yùn)算得到位向量10000。第1位(從左往右數(shù))為1,到數(shù)組A中得 到第1位(從左往右數(shù))數(shù)據(jù)為c3,即為檢索結(jié)果。
[0200] 上述說(shuō)明示出并描述了本申請(qǐng)的若干優(yōu)選實(shí)施例,但如前所述,應(yīng)當(dāng)理解本申請(qǐng) 并非局限于本文所披露的形式,不應(yīng)看作是對(duì)其他實(shí)施例的排除,而可用于各種其他組合、 修改和環(huán)境,并能夠在本文所述發(fā)明構(gòu)想范圍內(nèi),通過(guò)上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識(shí) 進(jìn)行改動(dòng)。而本領(lǐng)域人員所進(jìn)行的改動(dòng)和變化不脫離本申請(qǐng)的精神和范圍,則都應(yīng)在本申 請(qǐng)所附權(quán)利要求的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 一種倒排索引的構(gòu)建方法,其特征在于,所述方法包括: 創(chuàng)建數(shù)組,所述數(shù)組包含m個(gè)元素; 將待索引數(shù)據(jù)集合中的m個(gè)數(shù)據(jù)對(duì)應(yīng)至所述數(shù)組的m個(gè)元素;其中,所述待索引數(shù)據(jù)集 合中m個(gè)數(shù)據(jù)的屬性構(gòu)成屬性集合,所述屬性集合包含η個(gè)屬性,至少一個(gè)所述屬性對(duì)應(yīng)s個(gè) 屬性值,m為正整數(shù),η大于等于零,s大于等于零; 對(duì)于所述待索引數(shù)據(jù)集合中的每一數(shù)據(jù),遍歷該數(shù)據(jù)的屬性和相應(yīng)屬性值的組合; 對(duì)每一所述組合,設(shè)置該組合對(duì)應(yīng)的位向量為設(shè)定值以得到更新后的鍵值對(duì)集合。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述設(shè)置該所述組合對(duì)應(yīng)的位向量為設(shè)定 值前,所述方法還包括: 對(duì)每一所述組合,判斷初始鍵值對(duì)集合中是否有該組合對(duì)應(yīng)的鍵值對(duì),所述該組合的 鍵值對(duì)由該組合及該組合對(duì)應(yīng)的位向量構(gòu)成; 若所述初始鍵值對(duì)集合中沒(méi)有該組合對(duì)應(yīng)的鍵值對(duì),則創(chuàng)建該組合對(duì)應(yīng)的鍵值對(duì); 所述設(shè)置該組合對(duì)應(yīng)的位向量為設(shè)定值,包括: 設(shè)置該組合對(duì)應(yīng)的鍵值對(duì)中位向量的所有位均為第一設(shè)定值。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 若所述初始鍵值對(duì)集合中有該組合對(duì)應(yīng)的鍵值對(duì),根據(jù)所述數(shù)組獲取該組合對(duì)應(yīng)的待 索引數(shù)據(jù)集合中的數(shù)據(jù)的下標(biāo)值; 所述設(shè)置該組合對(duì)應(yīng)的位向量為設(shè)定值,包括: 設(shè)置所述位向量的所述下標(biāo)值對(duì)應(yīng)的位置為第二設(shè)定值。4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,至少一個(gè)所述屬性的屬性值為空,所述方 法還包括: 遍歷所述屬性集合; 對(duì)于所述屬性集合中的每一個(gè)所述屬性,在所述更新后的鍵值對(duì)集合中創(chuàng)建特定組合 的鍵值對(duì),設(shè)置位向量所有位置為第一設(shè)定值,其中所述特定組合為屬性值為空的屬性及 其屬性值構(gòu)成的組合。5. 根據(jù)權(quán)利要求1所述方法,其特征在于,所述方法還包括: 遍歷所述待索引數(shù)據(jù)集合; 確定所述待索引數(shù)據(jù)集合中一數(shù)據(jù)的一屬性的屬性值為空; 確定該數(shù)據(jù)對(duì)應(yīng)所述數(shù)組中的下標(biāo)值; 將所述更新后的鍵值對(duì)集合中所述下標(biāo)值對(duì)應(yīng)的位向量的所有位置設(shè)置為所述第二 設(shè)定值。6. -種倒排索引的構(gòu)建裝置,其特征在于,所述裝置包括: 第一創(chuàng)建單元,用于創(chuàng)建數(shù)組,所述數(shù)組包含m個(gè)元素; 對(duì)應(yīng)單元,用于將待索引數(shù)據(jù)集合中的m個(gè)數(shù)據(jù)對(duì)應(yīng)至所述數(shù)組的m個(gè)元素;其中,所述 待索引數(shù)據(jù)集合中m個(gè)數(shù)據(jù)的屬性構(gòu)成屬性集合,所述屬性集合包含η個(gè)屬性,至少一個(gè)所 述屬性對(duì)應(yīng)s個(gè)屬性值,m為正整數(shù),η大于等于零,s大于等于零; 第一遍歷單元,用于對(duì)于所述待索引數(shù)據(jù)集合中的每一數(shù)據(jù),遍歷該數(shù)據(jù)的屬性和相 應(yīng)屬性值的組合; 設(shè)置單元,用于對(duì)每一所述組合,設(shè)置該組合對(duì)應(yīng)的位向量為設(shè)定值以得到更新后的 鍵值對(duì)集合。7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 判斷單元,用于對(duì)每一所述組合,判斷初始鍵值對(duì)集合中是否有該組合對(duì)應(yīng)的鍵值對(duì), 所述該組合的鍵值對(duì)由該組合及該組合對(duì)應(yīng)的位向量構(gòu)成; 第二創(chuàng)建單元,用于在所述初始鍵值對(duì)集合中沒(méi)有該組合對(duì)應(yīng)的鍵值對(duì)時(shí),創(chuàng)建該組 合對(duì)應(yīng)的鍵值對(duì); 所述設(shè)置單元,具體用于設(shè)置該組合對(duì)應(yīng)的鍵值對(duì)中位向量的所有位均為第一設(shè)定 值。8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 獲取單元,用于在所述初始鍵值對(duì)集合中有該組合對(duì)應(yīng)的鍵值對(duì)時(shí),根據(jù)所述數(shù)組獲 取該組合對(duì)應(yīng)的待索引數(shù)據(jù)集合中的數(shù)據(jù)的下標(biāo)值; 所述設(shè)置單元具體用于設(shè)置所述位向量的所述下標(biāo)值對(duì)應(yīng)的位置為第二設(shè)定值。9. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,至少一個(gè)所述屬性的屬性值為空,所述裝 置還包括: 第二遍歷單元,用于遍歷所述屬性集合; 第三創(chuàng)建單元,用于對(duì)于所述屬性集合中的每一個(gè)所述屬性,在所述更新后的鍵值對(duì) 集合中創(chuàng)建特定組合的鍵值對(duì), 第二設(shè)置單元,用于設(shè)置位向量為第一設(shè)定值,其中所述特定組合為屬性值為空的屬 性及其屬性值構(gòu)成的組合。10. 根據(jù)權(quán)利要求6所述裝置,其特征在于,所述裝置還包括: 第三遍歷單元,用于遍歷所述待索引數(shù)據(jù)集合; 第一確定單元,用于確定所述待索引數(shù)據(jù)集合中一數(shù)據(jù)的一屬性的屬性值為空; 第二確定單元,用于確定該數(shù)據(jù)對(duì)應(yīng)所述數(shù)組中的下標(biāo)值; 第三設(shè)置單元,用于將所述更新后的鍵值對(duì)集合中所述下標(biāo)值對(duì)應(yīng)的位向量的所有位 置設(shè)置為所述第二設(shè)定值。11. 一種倒排索引的檢索方法,其特征在于,所述倒排索引采用上述權(quán)利要求1-5任一 項(xiàng)所述方法構(gòu)建,所述檢索方法包括: 遍歷用戶輸入的屬性及屬性值的組合; 在鍵值對(duì)集合中查找任意所述組合對(duì)應(yīng)的初始位向量得到初始位向量組,所述初始位 向量組中有P個(gè)初始位向量,P為正整數(shù); 將所述P個(gè)初始位向量做位與運(yùn)算得到新位向量; 遍歷所述新位向量中所有為所述第二設(shè)定值的位置; 根據(jù)下標(biāo)值從所述數(shù)組中取出相應(yīng)的數(shù)據(jù)。12. 根據(jù)權(quán)利要求11所述的方法,其特征在于,所述在鍵值對(duì)集合中查找任一所述組合 對(duì)應(yīng)的初始位向量得到初始位向量組前,還包括: 確定所述鍵值對(duì)集合中不存在與所述用戶輸入的屬性及屬性值的組合相應(yīng)的鍵值對(duì); 所述在鍵值對(duì)集合中查找任一所述組合對(duì)應(yīng)的位向量得到位向量組,包括: 在所述鍵值對(duì)集合中查找特定組合對(duì)應(yīng)的位向量作為該任一所述組合對(duì)應(yīng)的位向量。13. 根據(jù)權(quán)利要求12所述的方法,其特征在于,所述在鍵值對(duì)集合中查找任一所述組合 對(duì)應(yīng)的位向量得到位向量組前,所述方法還包括: 確定所述用戶輸入的屬性的屬性值缺失; 所述在鍵值對(duì)集合中查找任一所述組合對(duì)應(yīng)的位向量得到位向量組,包括: 在所述鍵值對(duì)集合中查找該屬性的特定組合對(duì)應(yīng)的位向量作為該任一所述組合的位 向量。14. 一種倒排索引的檢索裝置,其特征在于,所述倒排索引采用上述權(quán)利要求1-5任一 項(xiàng)所述方法構(gòu)建,所述檢索裝置包括: 第一遍歷單元,用于遍歷用戶輸入的屬性及屬性值的組合; 查找單元,用于在鍵值對(duì)集合中查找任意所述組合對(duì)應(yīng)的初始位向量得到初始位向量 組,所述初始位向量組中有P個(gè)初始位向量,P為正整數(shù); 運(yùn)算單元,用于將所述P個(gè)初始位向量做位與運(yùn)算得到新位向量; 第二遍歷單元,用于遍歷所述新位向量中所有為所述第二設(shè)定值的位置; 取出單元,用于根據(jù)下標(biāo)值從所述數(shù)組中取出相應(yīng)的數(shù)據(jù)。15. 根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述裝置還包括: 第一確定單元,用于確定所述鍵值對(duì)集合中不存在與所述用戶輸入的屬性及屬性值的 組合相應(yīng)的鍵值對(duì); 所述查找單元,具體用于在所述鍵值對(duì)集合中查找特定組合對(duì)應(yīng)的位向量作為該任一 所述組合對(duì)應(yīng)的位向量。16. 根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述裝置還包括: 第二確定單元,用于確定所述用戶輸入的屬性的屬性值缺失; 所述查找單元,具體用于在所述鍵值對(duì)集合中查找該屬性的特定組合對(duì)應(yīng)的位向量作 為該任一所述組合的位向量。
【文檔編號(hào)】G06F17/30GK105956085SQ201610282316
【公開(kāi)日】2016年9月21日
【申請(qǐng)日】2016年4月29日
【發(fā)明人】文德民, 張?jiān)其h, 周盛, 潘柏宇, 王冀
【申請(qǐng)人】合網(wǎng)絡(luò)技術(shù)(北京)有限公司, 合一網(wǎng)絡(luò)技術(shù)(北京)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1