專利名稱:索引裝置、索引方法、檢索裝置、檢索方法和檢索系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體而言,涉及索引裝置、索引方法、檢索裝置、檢索方法和檢索系統(tǒng)。
背景技術(shù):
搜索引擎已經(jīng)成為互聯(lián)網(wǎng)的主要入口,人們通過(guò)搜索引擎查詢和定位互聯(lián)網(wǎng)信息資源。主流的搜索弓I擎采用倒排索引技術(shù),通過(guò)建立檢索關(guān)鍵詞到文檔之間的龐大倒排映射表,實(shí)現(xiàn)用戶檢索請(qǐng)求的快速檢索。系統(tǒng)工作邏輯主要包含四個(gè)主要步驟信息采集、信息預(yù)處理,信息索引、信息檢索。其中,信息預(yù)處理過(guò)程的重要工作是對(duì)文檔進(jìn)行基于語(yǔ)義或語(yǔ)法層面的分析,抽取出文檔中可供用戶查詢的關(guān)鍵詞,并計(jì)算和標(biāo)記關(guān)鍵詞在文檔中的位置、頻率、權(quán)重等相關(guān)信息,作為索引階段的輸入數(shù)據(jù)。對(duì)于英文類文檔而言,關(guān)鍵詞抽取模塊相對(duì)簡(jiǎn)單,可以直接利用空格作為關(guān)鍵詞分割標(biāo)記實(shí)現(xiàn)關(guān)鍵詞抽取。區(qū)別于英文文檔,中文文檔不包含明確的詞分割標(biāo)記符,通常需要采用基于統(tǒng)計(jì)或規(guī)則的專門(mén)分詞模塊進(jìn)行文檔分詞處理。文檔預(yù)處理階段獲得的關(guān)鍵詞包括中文詞、英文單詞、數(shù)字串、標(biāo)點(diǎn)符號(hào)等。電話號(hào)碼、身份證號(hào)等信息以數(shù)字串存在。搜索引擎幫助用戶在龐大的信息中快速找到自己想要的信息,之所以這樣快,是因?yàn)樗阉饕婢S護(hù)著一個(gè)大的索引。通常的索引是關(guān)鍵詞(通過(guò)文本分詞得到)到包含關(guān)鍵詞的文檔倒排鏈表結(jié)構(gòu)。無(wú)論用戶檢索的是單個(gè)關(guān)鍵詞還是由關(guān)鍵詞組合的長(zhǎng)串,都會(huì)被內(nèi)部的分詞模塊切分成倒排索引中已有的關(guān)鍵詞或者多個(gè)關(guān)鍵詞的組合,當(dāng)是多個(gè)關(guān)鍵詞的組合時(shí),會(huì)在索引中找到這些關(guān)鍵詞倒排鏈表,然后進(jìn)行歸并操作。在倒排索引結(jié)構(gòu)中,不管是中文或者是英文,一般意義上的關(guān)鍵詞數(shù)量占有的空間相對(duì)于計(jì)算機(jī)的存儲(chǔ)器容量來(lái)說(shuō)都是可以接受的。在計(jì)算機(jī)的存儲(chǔ)容量上,磁盤(pán)的空間大小比內(nèi)存的空間大,但是在速度上,磁盤(pán)的讀取速度遠(yuǎn)小于內(nèi)存的讀取速度,為了快速的檢索,普遍采取的做法是將索引數(shù)據(jù)全部放到內(nèi)存中,或者是將部分索引數(shù)據(jù)放到內(nèi)存中?,F(xiàn)有技術(shù)方案中,一般索引系統(tǒng)的主索引和備用索引都是在內(nèi)存中,或者采用多級(jí)索引結(jié)構(gòu),是在內(nèi)存索引中指定磁盤(pán)索引的位置。無(wú)論是前者還是后者,索引中的關(guān)鍵詞列表都是存儲(chǔ)在內(nèi)存中的,因?yàn)樗阉饕粋€(gè)關(guān)鍵詞的第一步是確定哪些文檔包含當(dāng)前關(guān)鍵詞,在倒排索引中,關(guān)鍵詞列表的變化相對(duì)于文檔來(lái)說(shuō)幾乎可以忽略不計(jì),變化頻繁的是關(guān)鍵詞列表中每個(gè)關(guān)鍵詞指向的文檔信息。新添加一篇文檔,經(jīng)過(guò)搜索引擎的分詞模塊處理之后,在關(guān)鍵詞列表中都能找到文檔中包含的關(guān)鍵詞,然后依次在關(guān)鍵詞指向的文檔鏈表中添加新來(lái)的文檔信息。對(duì)于數(shù)字串信息,搜索引擎需要提供了很好的查詢支持,但因?yàn)閿?shù)字串的特殊性,給搜索引擎架構(gòu)設(shè)計(jì)增加了技術(shù)難度。因?yàn)閮?nèi)存空間的局限性,也就限制了內(nèi)存索引的大小。以目前的計(jì)算機(jī)硬件水平來(lái)看,一般類型的關(guān)鍵詞列表都可以放到內(nèi)存當(dāng)中,但對(duì)于數(shù)字串來(lái)說(shuō),跟一般的串不一樣了,O到9的阿拉伯?dāng)?shù)字任何位、任何組合都可以當(dāng)作是有效的關(guān)鍵詞,都可以但鼓掌哦關(guān)鍵詞建索引,所以這類的關(guān)鍵詞個(gè)數(shù)是無(wú)窮的,搜索引擎索引的性能會(huì)受到很大的影響。以η位數(shù)字來(lái)說(shuō),η位數(shù)字的組合是10的η次方,當(dāng)η是10的時(shí)候,有100億個(gè)數(shù)字串關(guān)鍵詞組合,目前的內(nèi)存空間遠(yuǎn)遠(yuǎn)不夠用。對(duì)于一般的數(shù)字串可以看成是非常見(jiàn)的,甚至常常是一個(gè)數(shù)字串只出現(xiàn)在特定的唯一的一片文檔當(dāng)中,如果按照傳統(tǒng)的索引方法,在倒排表中,當(dāng)前數(shù)字串只指向一篇文檔,空間利用率上將大大的下降。
如果將單個(gè)的阿拉伯?dāng)?shù)字0-9作為關(guān)鍵詞列表,關(guān)鍵詞列表減小到只有10個(gè)關(guān)鍵詞,每個(gè)關(guān)鍵詞指向的文檔鏈表將非常的大,大部分的用戶的檢索都是檢索特定的數(shù)字串組合,因此在檢索中的歸并過(guò)程計(jì)算量將非常大,大大降低了檢索的效率。因此,需要一種新的用數(shù)字串建立索引和進(jìn)行檢索的方法,使用戶可以在現(xiàn)有的計(jì)算機(jī)硬件條件下,利用文檔中的數(shù)字串建立索引和進(jìn)行檢索,同時(shí)減小索引數(shù)據(jù)所占內(nèi)存空間,并提聞檢索效率。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題在于,提供一種新的用數(shù)字串建立索引和進(jìn)行檢索的方法,使用戶可以在現(xiàn)有的計(jì)算機(jī)硬件條件下,利用文檔中的數(shù)字串建立索引和進(jìn)行檢索,同時(shí)減小索引數(shù)據(jù)所占內(nèi)存空間,并提聞檢索效率。有鑒于此,本發(fā)明提出了一種索引裝置,包括數(shù)字串切分模塊,對(duì)文檔中的數(shù)字串進(jìn)行切分;索引建立模塊,根據(jù)切分后得到的新數(shù)字串和所述文檔建立索引。在該技術(shù)方案中,提出對(duì)文檔中的數(shù)字串進(jìn)行切分,將切分后的新數(shù)字串作為關(guān)鍵詞建立索引,可以合理地控制索引結(jié)構(gòu)中的關(guān)鍵詞指向的文件鏈表的長(zhǎng)度,以及關(guān)鍵詞列表的長(zhǎng)度,即能夠控制數(shù)字串建立的索引大小在計(jì)算機(jī)內(nèi)存可接受的范圍內(nèi),可以提高數(shù)字串檢索速度。在上述技術(shù)方案中,優(yōu)選地,還包括還包括固定長(zhǎng)度設(shè)置模塊,設(shè)置固定長(zhǎng)度;所述數(shù)字串切分模塊按所述固定長(zhǎng)度對(duì)所述字符串進(jìn)行切分。在該技術(shù)方案中,具體地,可以首先設(shè)置一個(gè)固定長(zhǎng)度,然后以此固定長(zhǎng)度對(duì)數(shù)字串進(jìn)行切分,如果原數(shù)字串長(zhǎng)度小于或等于固定長(zhǎng)度,則無(wú)需切分而將該數(shù)字串直接作為關(guān)鍵詞建立索引;如果原數(shù)字串長(zhǎng)度大于固定長(zhǎng)度,則對(duì)該數(shù)字串以一定方向如從左向右等進(jìn)行切分,并將切分后得到的新數(shù)字串作為關(guān)鍵詞建立索引;由于原數(shù)字串的長(zhǎng)度可能不是固定長(zhǎng)度的整數(shù)倍,因而切分后得到的最后一段數(shù)字串長(zhǎng)度可能小于固定長(zhǎng)度,但不影響建立相關(guān)索引。固定長(zhǎng)度影響切分出來(lái)的數(shù)字串,該數(shù)據(jù)串作為關(guān)鍵詞時(shí),太短則導(dǎo)致關(guān)鍵詞指向的文件鏈表太長(zhǎng),每一次查詢的計(jì)算量大,太長(zhǎng)會(huì)導(dǎo)致關(guān)鍵詞列表太長(zhǎng),都會(huì)對(duì)計(jì)算機(jī)硬件資源造成一定壓力,因此需要設(shè)置較為合理的固定長(zhǎng)度。本發(fā)明還提出了一種索引方法,包括步驟202,數(shù)字串切分模塊對(duì)文檔中的數(shù)字串進(jìn)行切分;步驟204,索引建立模塊根據(jù)切分后得到的新數(shù)字串和所述文檔建立索引。在該技術(shù)方案中,提出對(duì)文檔中的數(shù)字串進(jìn)行切分,將切分后的新數(shù)字串作為關(guān)鍵詞建立索弓丨,可以合理地控制索引結(jié)構(gòu)中的關(guān)鍵詞指向的文件鏈表的長(zhǎng)度,以及關(guān)鍵詞列表的長(zhǎng)度,即能夠控制數(shù)字串建立的索引大小在計(jì)算機(jī)內(nèi)存可接受的范圍內(nèi),可以提高數(shù)字串檢索速度。在上述技術(shù)方案中,優(yōu)選地,在所述步驟202之前,還包括固定長(zhǎng)度設(shè)置模塊設(shè)置固定長(zhǎng)度;所述步驟202具體包括所述數(shù)字串切分模塊按照所述固定長(zhǎng)度對(duì)所述數(shù)字串進(jìn)行切分。在該技術(shù)方案中,具體地,可以首先設(shè)置一個(gè)固定長(zhǎng)度,然后以此固定長(zhǎng)度對(duì)數(shù)字串進(jìn)行切分,如果原數(shù)字串長(zhǎng)度小于或等于固定長(zhǎng)度,則無(wú)需切分而將該數(shù)字串直接作為關(guān)鍵詞建立索引;如果原數(shù)字串長(zhǎng)度大于固定長(zhǎng)度,則對(duì)該數(shù)字串以一定方向如從左向右等進(jìn)行切分,并將切分后得到的新數(shù)字串作為關(guān)鍵詞建立索引;由于原數(shù)字串的長(zhǎng)度可能不是固定長(zhǎng)度的整數(shù)倍,因而切分后得到的最后一段數(shù)字串長(zhǎng)度可能小于固定長(zhǎng)度,但不影響建立相關(guān)索引。固定長(zhǎng)度影響切分出來(lái)的數(shù)字串,該數(shù)據(jù)串作為關(guān)鍵詞時(shí),太短則導(dǎo)致關(guān)鍵詞指向的文件鏈表太長(zhǎng),每一次查詢的計(jì)算量大,太長(zhǎng)會(huì)導(dǎo)致關(guān)鍵詞列表太長(zhǎng),都會(huì)對(duì)計(jì)算機(jī)硬件資源造成一定壓力,因此需要設(shè)置較為合理的固定長(zhǎng)度。本發(fā)明還提出了一種檢索裝置,包括數(shù)字串切分模塊,對(duì)檢索串中的數(shù)字串進(jìn)行切分;檢索模塊,根據(jù)切分后得到的新數(shù)字串,在預(yù)建立的索引中進(jìn)行檢索。在該技術(shù)方案中,提出對(duì)檢索串的數(shù)字串進(jìn)行切分,將切分后的新數(shù)字串作為關(guān)鍵詞進(jìn)行檢索;而對(duì)于原檢索串中非數(shù)字串的部分,則依然按照傳統(tǒng)方式進(jìn)行檢索,最后將數(shù)字串關(guān)鍵詞和非數(shù)字串關(guān)鍵詞的檢索結(jié)果進(jìn)行相關(guān)性計(jì)算后,呈現(xiàn)給用戶。在上述技術(shù)方案中,優(yōu)選地,還包括如上述的索引裝置,以預(yù)建立所述索引。通過(guò)該技術(shù)方案,結(jié)合上述方案實(shí)現(xiàn)的索引,可以進(jìn)一步優(yōu)化檢索。在上述技術(shù)方案中,優(yōu)選地,所述數(shù)字串切分模塊還在所述新數(shù)字串的被切分處添加標(biāo)記;所述檢索模塊根據(jù)所述標(biāo)記,獲取所述新字符串,并統(tǒng)計(jì)所述新字符串在所述文檔中順序出現(xiàn)的次數(shù),以用于為所述文檔計(jì)算相關(guān)性,并根據(jù)得到的相關(guān)性來(lái)選取作為檢索結(jié)果的文檔。通過(guò)該技術(shù)方案,可以整合切分出的數(shù)字串對(duì)應(yīng)的所有結(jié)果,有利于保證檢索的準(zhǔn)確性。本發(fā)明還提出了一種檢索方法,包括步驟402,數(shù)字串切分模塊對(duì)檢索串中的數(shù)字串進(jìn)行切分;步驟404,檢索模塊根據(jù)切分后得到的新數(shù)字串,在預(yù)建立的索引中進(jìn)行檢索。在該技術(shù)方案中,提出對(duì)檢索串的數(shù)字串進(jìn)行切分,將切分后的新數(shù)字串作為關(guān)鍵詞進(jìn)行檢索;而對(duì)于原檢索串中非數(shù)字串的部分,則依然按照傳統(tǒng)方式進(jìn)行檢索,最后將數(shù)字串關(guān)鍵詞和非數(shù)字串關(guān)鍵詞的檢索結(jié)果進(jìn)行相關(guān)性計(jì)算后,呈現(xiàn)給用戶。在上述技術(shù)方案中,優(yōu)選地,在所述步驟402之前,還包括通過(guò)如上述的索引方法,以預(yù)建立所述索引。通過(guò)該技術(shù)方案,結(jié)合上述方案實(shí)現(xiàn)的索引,可以進(jìn)一步優(yōu)化檢索。在上述技術(shù)方案中,優(yōu)選地,在所述步驟402中,還包括所述數(shù)字串切分模塊在所述新數(shù)字串的被切分處添加標(biāo)記;所述步驟404具體包括所述檢索模塊根據(jù)所述標(biāo)記,獲取所述新字符串,并統(tǒng)計(jì)所述新字符串在所述文檔中順序出現(xiàn)的次數(shù),以用于為所述文檔計(jì)算相關(guān)性,并根據(jù)得到的相關(guān)性來(lái)選取作為檢索結(jié)果的文檔。通過(guò)該技術(shù)方案,可以整合切分出的數(shù)字串對(duì)應(yīng)的所有結(jié)果,有利于保證檢索的準(zhǔn)確性。本發(fā)明還提出了一種檢索系統(tǒng),包括如上所述的索引裝置;如上所述的檢索裝置,所述檢索裝置使用其生成的數(shù)字串,所述檢索裝置使用其生成的新數(shù)字串,在所述索引裝置建立的索引中進(jìn)行檢索。在該技術(shù)方案中,索引裝置通過(guò)將文檔中的數(shù)字串按固定長(zhǎng)度切分,并將切分后得到的數(shù)字串作為關(guān)鍵詞建立索引;而檢索裝置通過(guò)將檢索串中的數(shù)字串按固定長(zhǎng)度切分,并將切分后得到的數(shù)字串作為關(guān)鍵詞進(jìn)行檢索,通過(guò)對(duì)數(shù)字串的這種切分處理,從而既控制了索引占用計(jì)算機(jī)內(nèi)存的大小,也能夠提高檢索結(jié)果相關(guān)性計(jì)算的速度,保證檢索效率。
圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的索引裝置的框圖;圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的索引方法的流程圖;圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的檢索裝置的框圖;圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的檢索方法的流程圖;圖5是根據(jù)本發(fā)明的一個(gè)實(shí)施例的檢索系統(tǒng)的框圖;圖6是搜索引擎使用的數(shù)據(jù)結(jié)構(gòu)的示意圖;圖7是根據(jù)本發(fā)明的一個(gè)實(shí)施例的索引方法中的數(shù)字串切分示意圖;圖8是根據(jù)本發(fā)明的一個(gè)實(shí)施例的索引方法生成的索引的示意圖;圖9是根據(jù)本發(fā)明的一個(gè)實(shí)施例的索引方法的流程示意圖;圖10是根據(jù)本發(fā)明的一個(gè)實(shí)施例的索引方法的流程示意圖;圖11是根據(jù)本發(fā)明的一個(gè)實(shí)施例的檢索方法的流程示意圖;圖12是根據(jù)本發(fā)明的一個(gè)實(shí)施例的檢索方法中的數(shù)字串切分流程圖;圖13是根據(jù)本發(fā)明的一個(gè)實(shí)施例的檢索方法的流程示意圖;圖14是根據(jù)本發(fā)明的一個(gè)實(shí)施例的檢索方法的流程示意圖。
具體實(shí)施例方式為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來(lái)實(shí)施,因此,本發(fā)明并不限于下面公開(kāi)的具體實(shí)施例的限制。圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的索引裝置的框圖。如圖1所示,本發(fā)明提出了一種索引裝置100,包括數(shù)字串切分模塊102,對(duì)文檔中的數(shù)字串進(jìn)行切分;索引建立模塊104,根據(jù)切分后得到的新數(shù)字串和所述文檔建立索弓丨。在該技術(shù)方案中,提出對(duì)文檔中的數(shù)字串進(jìn)行切分,將切分后的新數(shù)字串作為關(guān)鍵詞建立索引,可以合理地控制索引結(jié)構(gòu)中的關(guān)鍵詞指向的文件鏈表的長(zhǎng)度,以及關(guān)鍵詞列表的長(zhǎng)度,即能夠控制數(shù)字串建立的索引大小在計(jì)算機(jī)內(nèi)存可接受的范圍內(nèi),可以提高數(shù)字串檢索速度。在上述技術(shù)方案中,還包括還包括固定長(zhǎng)度設(shè)置模塊106,設(shè)置固定長(zhǎng)度;所述數(shù)字串切分模塊102按所述固定長(zhǎng)度對(duì)所述字符串進(jìn)行切分。在該技術(shù)方案中,具體地,可以首先設(shè)置一個(gè)固定長(zhǎng)度,然后以此固定長(zhǎng)度對(duì)數(shù)字串進(jìn)行切分,如果原數(shù)字串長(zhǎng)度小于或等于固定長(zhǎng)度,則無(wú)需切分而將該數(shù)字串直接作為關(guān)鍵詞建立索引;如果原數(shù)字串長(zhǎng)度大于固定長(zhǎng)度,則對(duì)該數(shù)字串以一定方向如從左向右等進(jìn)行切分,并將切分后得到的新數(shù)字串作為關(guān)鍵詞建立索引;由于原數(shù)字串的長(zhǎng)度可能不是固定長(zhǎng)度的整數(shù)倍,因而切分后得到的最后一段數(shù)字串長(zhǎng)度可能小于固定長(zhǎng)度,但不影響建立相關(guān)索引。固定長(zhǎng)度影響切分出來(lái)的數(shù)字串,該數(shù)據(jù)串作為關(guān)鍵詞時(shí),太短則導(dǎo)致關(guān)鍵詞指向的文件鏈表太長(zhǎng),每一次查詢的計(jì)算量大,太長(zhǎng)會(huì)導(dǎo)致關(guān)鍵詞列表太長(zhǎng),都會(huì)對(duì)計(jì)算機(jī)硬件資源造成一定壓力,因此需要設(shè)置較為合理的固定長(zhǎng)度。圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的索引方法的流程圖。如圖2所示,本發(fā)明還提出了一種索引方法,包括步驟202,數(shù)字串切分模塊對(duì)文檔中的數(shù)字串進(jìn)行切分;步驟204,索引建立模塊根據(jù)切分后得到的新數(shù)字串和所述文檔建立索引。在該技術(shù)方案中,提出對(duì)文檔中的數(shù)字串進(jìn)行切分,將切分后的新數(shù)字串作為關(guān)鍵詞建立索引,可以合理地控制索引結(jié)構(gòu)中的關(guān)鍵詞指向的文件鏈表的長(zhǎng)度,以及關(guān)鍵詞列表的長(zhǎng)度,即能夠控制數(shù)字串建立的索引大小在計(jì)算機(jī)內(nèi)存可接受的范圍內(nèi),可以提高數(shù)字串檢索速度。在上述技術(shù)方案中,在所述步驟202之前,還包括固定長(zhǎng)度設(shè)置模塊設(shè)置固定長(zhǎng)度;所述步驟202具體包括所述數(shù)字串切分模塊按照所述固定長(zhǎng)度對(duì)所述數(shù)字串進(jìn)行切分。在該技術(shù)方案中,具體地,可以首先設(shè)置一個(gè)固定長(zhǎng)度,然后以此固定長(zhǎng)度對(duì)數(shù)字串進(jìn)行切分,如果原數(shù)字串長(zhǎng)度小于或等于固定長(zhǎng)度,則無(wú)需切分而將該數(shù)字串直接作為關(guān)鍵詞建立索引;如果原數(shù)字串長(zhǎng)度大于固定長(zhǎng)度,則對(duì)該數(shù)字串以一定方向如從左向右等進(jìn)行切分,并將切分后得到的新數(shù)字串作為關(guān)鍵詞建立索引;由于原數(shù)字串的長(zhǎng)度可能不是固定長(zhǎng)度的整數(shù)倍,因而切分后得到的最后一段數(shù)字串長(zhǎng)度可能小于固定長(zhǎng)度,但不影響建立相關(guān)索引。固定長(zhǎng)度影響切分出來(lái)的數(shù)字串,該數(shù)據(jù)串作為關(guān)鍵詞時(shí),太短則導(dǎo)致關(guān)鍵詞指向的文件鏈表太長(zhǎng),每一次查詢的計(jì)算量大,太長(zhǎng)會(huì)導(dǎo)致關(guān)鍵詞列表太長(zhǎng),都會(huì)對(duì)計(jì)算機(jī)硬件資源造成一定壓力,因此需要設(shè)置較為合理的固定長(zhǎng)度。圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的檢索裝置的框圖。如圖3所示,本發(fā)明還提出了一種檢索裝置300,包括數(shù)字串切分模塊302,對(duì)檢索串中的數(shù)字串進(jìn)行切分;檢索模塊304,根據(jù)切分后得到的新數(shù)字串,在預(yù)建立的索引中進(jìn)行檢索。在該技術(shù)方案中,提出對(duì)檢索串的數(shù)字串進(jìn)行切分,將切分后的新數(shù)字串作為關(guān)鍵詞進(jìn)行檢索;而對(duì)于原檢索串中非數(shù)字串的部分,則依然按照傳統(tǒng)方式進(jìn)行檢索,最后將數(shù)字串關(guān)鍵詞和非數(shù)字串關(guān)鍵詞的檢索結(jié)果進(jìn)行相關(guān)性計(jì)算后,呈現(xiàn)給用戶。在上述技術(shù)方案中,還包括如上述的索引裝置100,以預(yù)建立所述索引。通過(guò)該技術(shù)方案,結(jié)合上述方案實(shí)現(xiàn)的索引,可以進(jìn)一步優(yōu)化檢索。在上述技術(shù)方案中,所述數(shù)字串切分模塊302還在所述新數(shù)字串的被切分處添加標(biāo)記;所述檢索模塊304根據(jù)所述標(biāo)記,獲取所述新字符串,并統(tǒng)計(jì)所述新字符串在所述文檔中順序出現(xiàn)的次數(shù),以用于為所述文檔計(jì)算相關(guān)性,并根據(jù)得到的相關(guān)性來(lái)選取作為檢索結(jié)果的文檔。通過(guò)該技術(shù)方案,可以整合切分出的數(shù)字串對(duì)應(yīng)的所有結(jié)果,有利于保證檢索的準(zhǔn)確性。圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的檢索方法的流程圖。如圖4所示,本發(fā)明還提出了一種檢索方法,包括步驟402,數(shù)字串切分模塊對(duì)檢索串中的數(shù)字串進(jìn)行切分;步驟404,檢索模塊根據(jù)切分后得到的新數(shù)字串,在預(yù)建立的索引中進(jìn)行檢索。在該技術(shù)方案中,提出對(duì)檢索串的數(shù)字串進(jìn)行切分,將切分后的新數(shù)字串作為關(guān)鍵詞進(jìn)行檢索;而對(duì)于原檢索串中非數(shù)字串的部分,則依然按照傳統(tǒng)方式進(jìn)行檢索,最后將數(shù)字串關(guān)鍵詞和非數(shù)字串關(guān)鍵詞的檢索結(jié)果進(jìn)行相關(guān)性計(jì)算后,呈現(xiàn)給用戶。在上述技術(shù)方案中,在所述步驟402之前,還包括通過(guò)如上述的索引方法,以預(yù)建立所述索引。通過(guò)該技術(shù)方案,結(jié)合上述方案實(shí)現(xiàn)的索引,可以進(jìn)一步優(yōu)化檢索。
在上述技術(shù)方案中,在所述步驟402中,還包括所述數(shù)字串切分模塊在所述新數(shù)字串的被切分處添加標(biāo)記;所述步驟404具體包括所述檢索模塊根據(jù)所述標(biāo)記,獲取所述新字符串,并統(tǒng)計(jì)所述新字符串在所述文檔中順序出現(xiàn)的次數(shù),以用于為所述文檔計(jì)算相關(guān)性,并根據(jù)得到的相關(guān)性來(lái)選取作為檢索結(jié)果的文檔。通過(guò)該技術(shù)方案,可以整合切分出的數(shù)字串對(duì)應(yīng)的所有結(jié)果,有利于保證檢索的準(zhǔn)確性。圖5是根據(jù)本發(fā)明的一個(gè)實(shí)施例的檢索系統(tǒng)的框圖。如圖5所示,本發(fā)明還提出了一種檢索系統(tǒng),包括如上所述的索引裝置;如上所述的檢索裝置,所述檢索裝置使用其生成的數(shù)字串,所述檢索裝置使用其生成的新數(shù)字串,在所述索引裝置建立的索引中進(jìn)行檢索。在該技術(shù)方案中,索引裝置通過(guò)將文檔中的數(shù)字串按固定長(zhǎng)度切分,并將切分后得到的數(shù)字串作為關(guān)鍵詞建立索引;而檢索裝置通過(guò)將檢索串中的數(shù)字串按固定長(zhǎng)度切分,并將切分后得到的數(shù)字串作為關(guān)鍵詞進(jìn)行檢索,通過(guò)對(duì)數(shù)字串的這種切分處理,從而既控制了索引占用計(jì)算機(jī)內(nèi)存的大小,也能夠提高檢索結(jié)果相關(guān)性計(jì)算的速度,保證檢索效率。以下詳細(xì)說(shuō)明本發(fā)明的技術(shù)方案。主流的搜索引擎主要依賴于詞典文件、倒排列表文件、位置列表文件等三個(gè)數(shù)據(jù)結(jié)構(gòu)實(shí)施檢索操作邏輯,如圖6所示。其中,詞典文件記錄詞和詞的倒排文檔列表在倒排列表文件中的偏移信息。倒排列表文件記錄了所有詞的倒排文檔列表數(shù)據(jù)。位置列表文件記錄所有詞的在文檔中出現(xiàn)的位置信息?;诓樵冃士紤],運(yùn)行態(tài)的搜索引擎優(yōu)先將詞典文件導(dǎo)入內(nèi)存,以便快速查詢定位,倒排列表文件和位置文件的訪問(wèn)采用直接磁盤(pán)操作。在信息索引階段,數(shù)字串信息被采用與中文詞、英文單詞相同的處理方式建立索弓I。但數(shù)字串關(guān)鍵詞與人們正常使用的語(yǔ)言詞匯不同,不具有強(qiáng)烈的分布區(qū)間規(guī)律。海量的互聯(lián)網(wǎng)文檔中出現(xiàn)的數(shù)字串?dāng)?shù)量巨大。例如,目前使用的身份證號(hào)具有18位,每一個(gè)身份證號(hào)數(shù)字串都有可能出現(xiàn)在網(wǎng)絡(luò)文檔中。索引過(guò)程中,這些數(shù)字串關(guān)鍵詞的加入致使詞典文件空間極度膨脹,浪費(fèi)了寶貴的服務(wù)器內(nèi)存資源。一些應(yīng)用場(chǎng)景下,搜索引擎服務(wù)器無(wú)法一次性載入詞典文件到內(nèi)存中,轉(zhuǎn)而采用多級(jí)索引的方式保存詞典文件,嚴(yán)重惡化了檢索效率。同時(shí),倒排列表文件和位置列表文件都引入了差值壓縮算法對(duì)倒排記錄中的文檔編號(hào)、位置信息等數(shù)據(jù)進(jìn)行壓縮,由于絕大多數(shù)的數(shù)字串使用頻率較低,甚至是僅出現(xiàn)在單篇文檔中,使得壓縮算法的實(shí)際效果不佳,索引壓縮比大幅下降,磁盤(pán)空間浪費(fèi)嚴(yán)重。本發(fā)明的實(shí)施例,針對(duì)背景技術(shù)在數(shù)字串處理上的缺陷,采用對(duì)數(shù)字串按固定長(zhǎng)度切割的方法進(jìn)行索引。如圖7所示,對(duì)數(shù)字串&1&2&3&4&5吣&11,11個(gè)數(shù)字字符組成的原始串,以固定長(zhǎng)度k為切割長(zhǎng)度,將原始串切分為m+1個(gè)數(shù)字串組合,在m+1個(gè)數(shù)字串組合中,其中前m個(gè)數(shù)字串為等長(zhǎng)的數(shù)字串,數(shù)字串長(zhǎng)度為k,第m+1個(gè)數(shù)字串長(zhǎng)度小于等于k,因?yàn)椴荒鼙WC原始串的長(zhǎng)度恰好等于k的倍數(shù),所以從原始串的最左邊開(kāi)始切割,剩余部分保留在最右邊。如果原始串的長(zhǎng)度小于固定長(zhǎng)度k,就以原始串本身為關(guān)鍵詞,不做切割。
在索引中,一個(gè)關(guān)鍵詞占一個(gè)槽,當(dāng)新添加一個(gè)關(guān)鍵詞,槽就相應(yīng)的增加一個(gè),數(shù)字串關(guān)鍵詞索引也同樣需要占槽,采用固定長(zhǎng)度k做固定切割之后,將一個(gè)長(zhǎng)數(shù)字串分成固定在多個(gè)固定長(zhǎng)度數(shù)字串,切分后的每一個(gè)數(shù)字串的范圍在“O”- “9999…”k個(gè)9之間,數(shù)字串所占用的槽的個(gè)數(shù)的極限值就是10的k次方+10的k-Ι次方+…+10的I次方個(gè)。也就是說(shuō)k值越大,關(guān)鍵詞槽數(shù)越大。如圖8所示,k值越大索引倒排鏈表縱向高度越長(zhǎng),需要的占位槽越多,橫向長(zhǎng)度越短,因?yàn)榍蟹稚?,文檔關(guān)鍵詞信息就少,相反,k值越小縱向高度越短,橫向長(zhǎng)度越長(zhǎng)。但是k值引起倒排鏈表縱向高度與橫向長(zhǎng)度變化的幅度有很大的差別。K值每增大1,鏈表縱向高度的極限值增加原來(lái)的10倍多,橫向長(zhǎng)度隨縮短為原來(lái)的((x/k+l)/(x/k)) = k/ (k+1)倍。所以k值特別大時(shí),索引倒排鏈表的高度增大,計(jì)算機(jī)的內(nèi)存滿足不了,k值特別小時(shí),索引倒排鏈表的橫向長(zhǎng)度將會(huì)增加,檢索一次的計(jì)算量將會(huì)增加。因此k值的大小要根據(jù)機(jī)器硬件大小以及原始數(shù)據(jù)中數(shù)據(jù)串的大小來(lái)定。采用固定長(zhǎng)度的數(shù)字串做關(guān)鍵詞索引,創(chuàng)建索引時(shí),與傳統(tǒng)創(chuàng)建索引不一樣的地方是需要對(duì)文檔中的數(shù)字信息做特殊處理,當(dāng)數(shù)字串長(zhǎng)度不滿足固定長(zhǎng)度時(shí),不切分,數(shù)字串超出固定長(zhǎng)度時(shí)已固定長(zhǎng)度切分?jǐn)?shù)字串。數(shù)字串建立索引過(guò)程如圖9,過(guò)程如下步驟902,對(duì)新文檔做分詞處理,此時(shí)文檔中的數(shù)字串與非數(shù)字串將被區(qū)分開(kāi)來(lái),連在一起的數(shù)字當(dāng)成是一個(gè)數(shù)字串。步驟904,統(tǒng)計(jì)分詞后的文檔信息,統(tǒng)計(jì)每個(gè)詞的詞頻,位置等信息,為檢索相關(guān)性計(jì)算提供相應(yīng)的數(shù)據(jù),這些信息與文檔id都會(huì)記錄在倒排索引中。步驟906,判斷是否有數(shù)字串,有數(shù)字串,進(jìn)入步驟908,否則,進(jìn)入步驟910。步驟908,在已有的統(tǒng)計(jì)信息基礎(chǔ)上做下面的操作(I)當(dāng)數(shù)字串長(zhǎng)度小于固定長(zhǎng)度時(shí),不做數(shù)字串切分,按原長(zhǎng)度處理。
(2)當(dāng)數(shù)字串長(zhǎng)度大于固定長(zhǎng)度是時(shí),按照固定長(zhǎng)度切分成多個(gè)數(shù)字串,切分好的數(shù)字串,統(tǒng)計(jì)切分后數(shù)字串信息。步驟910,修改索引鏈表,如圖10所示步驟1002,獲取切分后的數(shù)字串;步驟1004,查找索引,判斷其中是否當(dāng)前的數(shù)字串,如果倒排索引中已有新文檔統(tǒng)計(jì)出的關(guān)鍵詞,進(jìn)入步驟1008,如果倒排索引中沒(méi)有新文檔統(tǒng)計(jì)出的關(guān)鍵詞,進(jìn)入步驟1006。步驟1006,倒排索引中添加關(guān)鍵詞,并在此關(guān)鍵詞指向的文檔信息鏈表中添加文
檔信息。步驟1008,在已有的關(guān)鍵詞指向的文檔信息鏈表末尾添加文檔信息。直至添加索引結(jié)束。采用固定長(zhǎng)度的數(shù)字串做關(guān)鍵詞索引,搜索信息時(shí)與創(chuàng)建索引時(shí)有一些不同,需要考慮獨(dú)立數(shù)字串與非獨(dú)立數(shù)字串的區(qū)別。在查詢數(shù)字串時(shí)需要去索引中進(jìn)行關(guān)鍵詞匹配,取出關(guān)鍵詞指向的文本鏈表,歸并多個(gè)或者一個(gè)文檔鏈表的信息,計(jì)算文檔相關(guān)性。查詢數(shù)字串“ala2a3…an”,首先根據(jù)切割方法對(duì)數(shù)字串按固定長(zhǎng)度切分,如果η小于k的時(shí)候,用于檢索的關(guān)鍵詞就是數(shù)字串本身,如果η大于k,數(shù)字串就會(huì)被切分成固定塊大小。在索引中,數(shù)字串關(guān)鍵詞之間沒(méi)有直接聯(lián)系,也就是說(shuō)索引不知道當(dāng)前要查詢的關(guān)鍵詞是一個(gè)長(zhǎng)數(shù)字串的切分后的一個(gè)固定長(zhǎng)度串還是本身就是一個(gè)獨(dú)立的數(shù)字串,也就是說(shuō)查詢關(guān)鍵詞“ala2…ak”可能是查詢數(shù)字串“ala2…an”切分后的一個(gè)子關(guān)鍵詞串,也可能就是查詢串“ala2…ak”本身。這就需要我們?cè)谒饕樵兺鈬鷮?duì)這兩種狀態(tài)進(jìn)行區(qū)分,對(duì)切分后的關(guān)鍵詞打一個(gè)標(biāo)記,此類標(biāo)記一般采用特殊字符做前綴或者后綴與切分后的數(shù)字串相連組成,在數(shù)字串查詢關(guān)鍵詞中如果出現(xiàn)特殊字符如綴或者后綴,表不此數(shù)字串關(guān)鍵詞是一個(gè)長(zhǎng)數(shù)字串的一部分,反之就是獨(dú)立串。數(shù)字串索引查詢過(guò)程如圖11所示,過(guò)程如下
步驟1102,切分查詢數(shù)字串。步驟1104,查詢數(shù)字串長(zhǎng)度是否超過(guò)固定長(zhǎng)度,在超過(guò)固定長(zhǎng)度時(shí),進(jìn)入步驟1106,沒(méi)有超過(guò)固定長(zhǎng)度時(shí),進(jìn)入步驟1108。步驟1106,對(duì)其切割后的數(shù)字關(guān)鍵詞加前綴或者后綴。步驟1108,查詢索引庫(kù),對(duì)有前綴或者后綴的數(shù)字串,歸并各自的索引結(jié)果,由索引文檔信息計(jì)算相關(guān)性,對(duì)沒(méi)有前綴或者后綴的數(shù)字串,只計(jì)算其本身指向的文檔鏈表相關(guān)性,不做歸并操作。步驟1110,查詢結(jié)束,根據(jù)相關(guān)性大小輸出結(jié)果。上述切分步驟的詳細(xì)過(guò)程,可以如圖12所示步驟1202,如果原始數(shù)字串長(zhǎng)度超過(guò)固定長(zhǎng)度,對(duì)查詢數(shù)字串按固定長(zhǎng)度做切分。切分時(shí)從左向右開(kāi)始,切割k個(gè)數(shù)字字符為一個(gè)新串。步驟1204,判斷剩余原始串長(zhǎng)度是否大于固定長(zhǎng)度,當(dāng)剩余數(shù)字串長(zhǎng)度大于固定串時(shí),返回步驟1202,循環(huán)處理剩余的數(shù)字串,當(dāng)剩余數(shù)字串長(zhǎng)度小于等于固定串時(shí),切分結(jié)束。本發(fā)明的實(shí)施例,針對(duì)背景技術(shù)在數(shù)字串上的缺陷,采用對(duì)數(shù)字串按固定長(zhǎng)度切割的方法進(jìn)行索引。對(duì)于每個(gè)數(shù)字串,總體處理流程如圖13所示步驟1302,判斷是否有需要進(jìn)行索引的文檔。步驟1304,讀取待索引的文檔。步驟1306,對(duì)文檔進(jìn)行分詞和位置標(biāo)記。步驟1308,進(jìn)行數(shù)字串的拆分處理。步驟1310,將生成的索引添加到索引庫(kù)。具體處理流程如圖14所示步驟1402,依次從文檔中讀取關(guān)鍵詞。步驟1404,判斷是否還有詞剩余,是則進(jìn)入步驟1406,否則結(jié)束操作。步驟1406,判斷該詞是否為數(shù)字串,是則進(jìn)入步驟1408,否則返回步驟1404。步驟1408,假設(shè)數(shù)字串原始長(zhǎng)度為L(zhǎng),系統(tǒng)預(yù)設(shè)的拆分長(zhǎng)度閾值為K,當(dāng)前數(shù)字串在文檔中的偏移位置為P,設(shè)i = O。步驟1410,判斷數(shù)字串長(zhǎng)度L是否超過(guò)設(shè)定的拆分長(zhǎng)度閾值K,如果不超過(guò),則返回步驟1404,否則,進(jìn)入步驟1412。步驟1412,判斷i+K是否大于串長(zhǎng)度L,如果是,進(jìn)行步驟1414,否則進(jìn)入步驟1424。步驟1414,截取數(shù)字串(i,i+K)之間的數(shù)字組成生成新詞。步驟1416,判斷i是否為0,是則進(jìn)入步驟1418,否則進(jìn)入步驟1420。步驟1418,在新詞的尾部添加數(shù)字串拆分標(biāo)記符,記錄位置為P,輸出。步驟1420,在新詞的頭、尾部都添加數(shù)字拆分串標(biāo)記符,記錄位置為P,輸出。步驟1422,位置P加1,i加上K,并返回步驟1412。步驟1424,截取數(shù)字串(i,L)之間的數(shù)字組成生成新詞。步驟1426,如果i = O,則在新詞的頭部添加數(shù)字串拆分標(biāo)記符,記錄位置為p,輸出。
步驟1428,位置P加I,返回步驟1404。假設(shè)數(shù)字拆分長(zhǎng)度閾值為5,拆分串標(biāo)記符為“#”。例如,對(duì)于文檔“我的電話號(hào)碼是82288228”,進(jìn)行切詞、詞位置標(biāo)記處理后,正排索引為(我,1)/(的,2)/(電話,3)/(號(hào)碼,4)/(是,5)/(82288228,6)數(shù)字串拆分處理后,正排索引為(我,1)/(的,2)/(電話,3)/(號(hào)碼,4)/(是,5)/(82288#,6)/(#228,7)針對(duì)輸出結(jié)果,索引流程建立基于位置的倒排文件索引。檢索階段,對(duì)用戶請(qǐng)求串的預(yù)處理采用相同的策略,請(qǐng)求串中包含的數(shù)字串被處理成相應(yīng)的數(shù)字拆分串,并生成精確串檢索子句,完成用戶請(qǐng)求的檢索。例如,對(duì)于用戶查詢“電話號(hào)碼82288228”,檢索串預(yù)處理成(電話,I)/(號(hào)碼,2)/(82288228,3)數(shù)字串拆分處理后結(jié)果如下(電話,I)/(號(hào)碼,2)/(82288#,3)/(#228,4)對(duì)“(82288#,3)/(#228,3) ”生成精確串子查詢,與其他檢索項(xiàng)按照正常處理邏輯完成檢索。數(shù)字串拆分符號(hào)可以是任意一個(gè)不參與索引和檢索的符號(hào)。本系統(tǒng)為了表述方便,選取“#”作為數(shù)字串拆分符號(hào)。由于數(shù)字串拆分符號(hào)不參與索引和檢索,因此信息預(yù)處理生成的正常關(guān)鍵詞集合中不會(huì)包含數(shù)字拆分串,不會(huì)產(chǎn)生檢索階段的沖突。對(duì)于數(shù)字串拆分后獲得的子串,首尾子串的拆分標(biāo)記符號(hào)添加方式有所不同。主要目的是為了標(biāo)記出非規(guī)則詞的首尾邊界,避免檢索時(shí)出現(xiàn)部分匹配被判定為完整匹配的現(xiàn)象。數(shù)字串拆分長(zhǎng)度閾值的設(shè)定,決定了詞典文件中最大包含數(shù)字串關(guān)鍵詞的個(gè)數(shù)。例如,設(shè)定k = 4時(shí),詞典文件將僅需提供10000個(gè)關(guān)鍵詞空間,即可支持任意數(shù)字串的查詢。由此可見(jiàn),k值越小,詞典文件的規(guī)模越小,所占用的內(nèi)存空間越小。拆分長(zhǎng)度閾值選擇還需要兼顧數(shù)字串的查詢效率,例如,設(shè)定K = 4時(shí),18位的身份證號(hào)被拆分成5個(gè)詞,檢索過(guò)程需要對(duì)拆分后的5個(gè)詞進(jìn)行精確串查詢。由此可見(jiàn)k值越小,檢索過(guò)程中涉及的詞越多,檢索運(yùn)算量越大。通過(guò)分析文檔集中數(shù)字串的分布特征,以及查詢?nèi)罩局袛?shù)字串查詢的分布特征,可以獲得較為合理的閾值。在我們的系統(tǒng)中,用戶提交的數(shù)字串查詢主要涉及10位的QQ號(hào)和8位電話號(hào)碼,綜合考慮上述二方面因素,選擇K = 5獲得很好的運(yùn)行效果(二類主要的查詢都僅進(jìn)行兩詞的精確串檢索)。綜上所述,根據(jù)本發(fā)明的技術(shù)方案,可以實(shí)現(xiàn)索引裝置、索引方法、檢索裝置、檢索方法和檢索系統(tǒng),在搜索引擎信息預(yù)處理階段引入了對(duì)數(shù)字串拆分處理,可以將數(shù)字按照一定的閾值拆分成固定長(zhǎng)度的子串建立索引,檢索階段將拆分后的數(shù)字子串進(jìn)行精確串檢索,從而實(shí)現(xiàn)數(shù)字串的檢索。本發(fā)明的技術(shù)方案大大減少索引字典中數(shù)字串關(guān)鍵詞占用的空間,同時(shí)提聞了數(shù)字串關(guān)鍵詞在文檔集中的出現(xiàn)頻率,有利于提聞倒排文檔列表的壓縮效果。數(shù)字串拆分索引策略保證了搜索引擎的核心數(shù)據(jù)結(jié)構(gòu)“索引詞典文件”的大小不隨文檔集合的膨脹而線性增長(zhǎng),使詞典文件在運(yùn)行狀態(tài)全部存儲(chǔ)在內(nèi)存中,在不降低檢索的準(zhǔn)確性的如提下,大大提聞檢索效率。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種索引裝置,其特征在于,包括 數(shù)字串切分模塊,對(duì)文檔中的數(shù)字串進(jìn)行切分; 索引建立模塊,根據(jù)切分后得到的新數(shù)字串和所述文檔建立索引。
2.根據(jù)權(quán)利要求1所述的索引裝置,其特征在于,還包括 固定長(zhǎng)度設(shè)置模塊,設(shè)置固定長(zhǎng)度; 所述數(shù)字串切分模塊按所述固定長(zhǎng)度對(duì)所述字符串進(jìn)行切分。
3.一種索引方法,其特征在于,包括 步驟202,數(shù)字串切分模塊對(duì)文檔中的數(shù)字串進(jìn)行切分; 步驟204,索引建立模塊根據(jù)切分后得到的新數(shù)字串和所述文檔建立索引。
4.根據(jù)權(quán)利要求3所述的索引方法,其特征在于,在所述步驟202之前,還包括固定長(zhǎng)度設(shè)置模塊設(shè)置固定長(zhǎng)度; 所述步驟202具體包括所述數(shù)字串切分模塊按照所述固定長(zhǎng)度對(duì)所述數(shù)字串進(jìn)行切分。
5.一種檢索裝置,其特征在于,包括 數(shù)字串切分模塊,對(duì)檢索串中的數(shù)字串進(jìn)行切分; 檢索模塊,根據(jù)切分后得到的新數(shù)字串,在預(yù)建立的索引中進(jìn)行檢索。
6.根據(jù)權(quán)利要求5所述的檢索裝置,其特征在于,還包括 如權(quán)利要求1或2所述的索引裝置,以預(yù)建立所述索引。
7.根據(jù)權(quán)利要求6所述的檢索裝置,其特征在于,所述數(shù)字串切分模塊還在所述新數(shù)字串的被切分處添加標(biāo)記; 所述檢索模塊根據(jù)所述標(biāo)記,獲取所述新字符串,并統(tǒng)計(jì)所述新字符串在所述文檔中順序出現(xiàn)的次數(shù),以用于為所述文檔計(jì)算相關(guān)性,并根據(jù)得到的相關(guān)性來(lái)選取作為檢索結(jié)果的文檔。
8.一種檢索方法,其特征在于,包括 步驟402,數(shù)字串切分模塊對(duì)檢索串中的數(shù)字串進(jìn)行切分; 步驟404,檢索模塊根據(jù)切分后得到的新數(shù)字串,在預(yù)建立的索引中進(jìn)行檢索。
9.根據(jù)權(quán)利要求8所述的檢索方法,其特征在于,在所述步驟402之前,還包括 通過(guò)如權(quán)利要求3或4所述的索引方法,以預(yù)建立所述索引。
10.根據(jù)權(quán)利要求9所述的檢索方法,其特征在于,在所述步驟402中,還包括所述數(shù)字串切分模塊在所述新數(shù)字串的被切分處添加標(biāo)記; 所述步驟404具體包括所述檢索模塊根據(jù)所述標(biāo)記,獲取所述新字符串,并統(tǒng)計(jì)所述新字符串在所述文檔中順序出現(xiàn)的次數(shù),以用于為所述文檔計(jì)算相關(guān)性,并根據(jù)得到的相關(guān)性來(lái)選取作為檢索結(jié)果的文檔。
11.一種檢索系統(tǒng),其特征在于,包括 權(quán)利要求1或2所述的索引裝置; 權(quán)利要求5至7中任一項(xiàng)所述的檢索裝置,所述檢索裝置使用其生成的新數(shù)字串,在所述索引裝置建立的索引中進(jìn)行檢索。
全文摘要
本發(fā)明提出了一種索引裝置,包括數(shù)字串切分模塊,對(duì)文檔中的數(shù)字串進(jìn)行切分;索引建立模塊,根據(jù)切分后得到的新數(shù)字串和所述文檔建立索引。在該技術(shù)方案中,提出對(duì)文檔中的數(shù)字串進(jìn)行切分,將切分后的新數(shù)字串作為關(guān)鍵詞建立索引,可以合理地控制索引結(jié)構(gòu)中的關(guān)鍵詞指向的文件鏈表的長(zhǎng)度,以及關(guān)鍵詞列表的長(zhǎng)度,即能夠控制數(shù)字串建立的索引大小在計(jì)算機(jī)內(nèi)存可接受的范圍內(nèi),可以提高數(shù)字串檢索速度。本發(fā)明還提出索引方法、檢索裝置、檢索方法和檢索系統(tǒng)。
文檔編號(hào)G06F17/30GK103064847SQ201110319568
公開(kāi)日2013年4月24日 申請(qǐng)日期2011年10月20日 優(yōu)先權(quán)日2011年10月20日
發(fā)明者許歡慶, 吳尉林, 夏亮, 郭永福, 陳沛 申請(qǐng)人:北京中搜網(wǎng)絡(luò)技術(shù)股份有限公司