本申請涉及搜索
技術(shù)領(lǐng)域:
,尤其涉及一種搜索引擎索引構(gòu)建方法及裝置。
背景技術(shù):
:本地搜索,是指在pc、手機等設(shè)備上,針對設(shè)備本地存儲內(nèi)容所進行的搜索。隨著用戶需求的提升,本地搜索的功能也不僅限于查找具有特定名稱的文檔,而是可以針對文檔內(nèi)部的內(nèi)容進行搜索,例如查找包含特定字符的word文件、pdf文件、短信、郵件等等。與對網(wǎng)頁內(nèi)容進行搜索的原理類似,為了實現(xiàn)對本地文檔內(nèi)容的快速搜索,需要針對文檔中出現(xiàn)的內(nèi)容建立索引信息,而現(xiàn)有的本地搜索引擎一般也都是按照在線搜索引擎的方式構(gòu)建索引。然而在實際應(yīng)用中,本地搜索引擎與在線搜索引擎的運行環(huán)境并不完全相同,這也導(dǎo)致了直接利用“在線”方式構(gòu)造本地索引所存在的一些問題:首先,在線搜索引擎依托于網(wǎng)絡(luò)側(cè)服務(wù)器的性能,可以在搜索時一次性處理大量的索引數(shù)據(jù),而對于用戶設(shè)備而言,一次性處理的數(shù)據(jù)量遠低于網(wǎng)絡(luò)服務(wù)器,因此當(dāng)索引文件體積過大時,需要將拆分為多個索引文件進行存儲,每次搜索都需要遍歷所有的索引文件,從而影響搜索效率。而且,除了影響性能之外,由于存儲空間受限,用戶設(shè)備(特別是手機、平板電腦等移動用戶設(shè)備)對索引文件的也體積更為敏感,如果完全按照“在線”的方式構(gòu)建本地索引,會導(dǎo)致索引文件體積迅速增加,從而影響設(shè)備上其他功能的使用。技術(shù)實現(xiàn)要素:針對上述技術(shù)問題,本申請?zhí)峁┮环N搜索引擎索引構(gòu)建方法及裝置,技術(shù)方案如下:根據(jù)本申請的第一方面,提供一種搜索引擎索引構(gòu)建方法,應(yīng)用于用戶設(shè)備,該方法包括:對文檔中的文本串進行切分處理,得到對應(yīng)的文本子串;根據(jù)預(yù)設(shè)的特征提取規(guī)則,確定每個文本子串的特征;針對任意文本子串,將其索引信息寫入以其特征作為標(biāo)識的索引文件中,其中,每種特征至少對應(yīng)一個索引文件。根據(jù)本申請的第二方面,提供一種基于如前述搜索引擎索引的搜索方法,其特征在于,該方法包括:根據(jù)所述特征提取規(guī)則,確定搜索文本串的特征;在以所述搜索文本串的特征為標(biāo)識的索引文件中,查找所述搜索文本串的索引信息;根據(jù)索引信息查找結(jié)果生成搜索結(jié)果。根據(jù)本申請的第三方面,提供一種搜索引擎索引構(gòu)建裝置,應(yīng)用于用戶設(shè)備,該裝置包括:切分模塊,用于對文檔中的文本串進行切分處理,得到對應(yīng)的文本子串;特征確定模塊,用于根據(jù)預(yù)設(shè)的特征提取規(guī)則,確定每個文本子串的特征;索引信息寫入模塊,用于針對任意文本子串,將其索引信息寫入以其特征作為標(biāo)識的索引文件中,其中,每種特征至少對應(yīng)一個索引文件。根據(jù)本申請的第四方面,提供一種基于前述搜索引擎索引的搜索裝置,該裝置包括:特征確定模塊,用于根據(jù)所述特征提取規(guī)則,確定搜索文本串的特征;索引信息查找模塊,用于在以所述搜索文本串的特征為標(biāo)識的索引文件中,查找所述搜索文本串的索引信息;搜索結(jié)果生成模塊,用于根據(jù)索引信息查找結(jié)果生成搜索結(jié)果。根據(jù)本申請的第五方面,提供一種搜索系統(tǒng),該系統(tǒng)包括前述的索引構(gòu)建裝置及搜索裝置。本申請所提供的技術(shù)方案,針對本地搜索的實際應(yīng)用場景,根據(jù)待索引文本子串的特征對索引文件進行拆分存儲,并以相應(yīng)的特征對不同的索引文件進行標(biāo)識。進而在搜索時,可以跟據(jù)搜索文本串的特征,直接定位到與該特征對應(yīng)的索引文件,避免遍歷所有的索引文件,有效地提高了搜索效率。此外,本申請還提供索引詞條的切分方法,從而在不影響索引內(nèi)容全面性的前提下,進一步降低索引文件的體積。應(yīng)當(dāng)理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本申請。此外,本申請中的任一實施例并不需要達到上述的全部效果。附圖說明為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本申請的搜索引擎索引構(gòu)建方法的流程示意圖;圖2是本申請的搜索方法的流程示意圖;圖3是本申請的搜索引擎索引構(gòu)建裝置的第一種結(jié)構(gòu)示意圖;圖4是本申請的搜索引擎索引構(gòu)建裝置的第二種結(jié)構(gòu)示意圖;圖5是本申請的搜索裝置結(jié)構(gòu)示意圖;圖6是本申請的搜索系統(tǒng)的結(jié)構(gòu)示意圖。具體實施方式為了使本領(lǐng)域技術(shù)人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申 請實施例中的附圖,對本申請實施例中的技術(shù)方案進行詳細地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I(lǐng)域普通技術(shù)人員所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本申請保護的范圍。首先對搜索引擎索引的基本原理進行簡單介紹:當(dāng)用戶輸入搜索關(guān)鍵詞后,搜索引擎需要做的是:找到包含該關(guān)鍵詞(或者包含與該關(guān)鍵詞相關(guān)信息)的文檔,生成搜索結(jié)果反饋給用戶。這里的“文檔”是對搜索對象的統(tǒng)稱,在不同的搜索應(yīng)用場景中,文檔所對應(yīng)的實體可能也各不相同。例如,對于一般的網(wǎng)頁搜索而言,“文檔”特指網(wǎng)頁,而實際的“文檔”概念則更為寬泛,例如word文件、pdf文件、郵件、短信、甚至圖片文件、視頻文件等都可以稱為文檔。最直接的搜索方法,是針對用戶輸入的關(guān)鍵詞,采用遍歷的方式在所有已知文檔中查找是否包含該關(guān)鍵詞。但是當(dāng)文檔數(shù)量很大時,這種方法的搜索效率在實際應(yīng)用中是難以接受的,因此需要采用索引的方法提高效率。索引的基本思路是:預(yù)先對所有已知文檔的內(nèi)容進行分析,針對在這些文檔中出現(xiàn)過的每種文本串(具體可以是一個字、一個詞、一個短語等等),分別記錄有哪些文檔中包含該文本串,并將這些信息寫入索引文件,一種基本的索引文件內(nèi)容示意如表1所示:1文本串1文檔2,文檔32文本串2文檔2,文檔43文本串3文檔1,文檔3,文檔54文本串4文檔3,文檔6………………表1以表1中第1行的索引信息為例,其表示在文檔2、文檔3中均包含“文本串1”,這樣,當(dāng)用戶以“文本串1”作為關(guān)鍵詞進行搜索時,搜索引擎根據(jù)索 引文件中“文本串1”的索引信息,就可以直接將“文檔2和文檔3”作為搜索結(jié)果反饋給用戶,避免在所有文檔中遍歷查找“文本串1”。當(dāng)文本串的種類很多時,必然導(dǎo)致索引文件的體積增加,對于本地搜索的應(yīng)用場景而言,由于用戶設(shè)備的性能遠低于網(wǎng)絡(luò)側(cè)服務(wù)器,無法一次性處理體積過大的索引文件,因此一般本地搜索引擎都會對體積較大的索引文件進行拆分,但是根據(jù)現(xiàn)有技術(shù)的方案,只是簡單地根據(jù)索引文件的體積需求對索引文件進行拆分,拆分后的多個索引文件之間彼此并沒有關(guān)聯(lián),這樣所帶來的問題是:對于用戶輸入的搜索文本串,搜索引擎并不知道該文本串的索引信息存儲在哪個索引文件中,因此需要按照一定的順序(例如按照文件名、文件最后修改時間、文件摘要等)先讀取一個索引文件,然后在該索引文件中查找該文本串的索引信息,如果沒有命中就讀取另一個索引文件進行下一輪查找,……如此反復(fù),直到命中該文本串為止。可見,對于存在m個索引文件的情況,最壞的情況是直到第m輪才查找命中,另外,如果在索引文件中并不存在搜索文本串所對應(yīng)的索引信息,則必須要查找m輪才能給出搜索失敗的結(jié)果。針對上述問題,本申請?zhí)峁┮环N搜索引擎索引構(gòu)建方法,參見圖1所示,該方法可以包括以下步驟:s101,對文檔中的文本串進行切分處理,得到對應(yīng)的文本子串;為了對文檔建立索引信息,首先需要將文檔內(nèi)容拆分成若干個適用于索引的單元,在中文語言處理中,自然的切分標(biāo)識主要是標(biāo)點符號,此外也有少量文本是以空格等其他形式作為切分標(biāo)識。這里將根據(jù)自然切分標(biāo)識已經(jīng)切分好的部分稱為文本串,則本步驟實際需要根據(jù)特定的切分算法,將這些自然切分的文本串切分為若干文本子串。在本步驟中,可以選用任意的切分算法,本申請所提供的基本方案也并不受具體切分算法的影響。s102,根據(jù)預(yù)設(shè)的特征提取規(guī)則,確定每個文本子串的特征;在本步驟中,對于切分得到的文本子串,根據(jù)某種特征提取規(guī)則,分別確定每個文本子串的特征,目的是在后續(xù)步驟中,以文本子串的特征作為區(qū)分, 對具有不同特征的文本子串分別進行存儲。文本子串的特征提取可以有很多種方式,例如:以文本子串首字的漢語拼音作為該文本子串的特征、以文本子串首字的漢字筆畫作為該文本子串的特征、等等,甚至可以利用某種特定算法計算得到文本子串的特征值??梢岳斫獾氖?,這里對文本子串的特征提取,目的是將所有的文本子串劃分為若干類別,以便于后續(xù)的區(qū)分存儲,因此本申請方案理論上并不需要對具體的特征提取規(guī)則進行限定,在實際應(yīng)用中,本領(lǐng)域技術(shù)人員可以根據(jù)實現(xiàn)復(fù)雜度、特征數(shù)量等因素選取適當(dāng)?shù)奶卣魈崛∫?guī)則。s103,針對任意文本子串,將其索引信息寫入以其特征作為標(biāo)識的索引文件中。確定每個文本子串的特征后,根據(jù)文本子串的特征對文本子串進行區(qū)分存儲。具體而言,以文本子串的特征作為索引文件的標(biāo)識,將具有相同特征的文本子串的索引信息寫入具有該標(biāo)識的索引文件,這樣就可以根據(jù)索引文件的標(biāo)識信息確定該文件中具體包括哪些文本子串的索引信息,進而在在后續(xù)進行搜索時,可以直接根據(jù)給定搜索詞的特征找到相應(yīng)的索引文件。其中“以特征標(biāo)識索引文件”,具體可以是在索引文件名中包含與特征相關(guān)的信息,也可以是在索引文件的其他可讀位置(例如索引文件摘要、索引數(shù)據(jù)中的特定存儲位置,等等)中記錄與特征相關(guān)的信息?!芭c特征相關(guān)的信息”可以是特征值本身、特征值的某種形變、特征值的某種編碼等等??傊梢詫崿F(xiàn)“對于一個給定的特征,能夠確定存儲有該特征字符串索引信息的索引文件”的基本需求即可。參見圖2所示,基于上述的索引構(gòu)建方法,在實際進行搜索時,對應(yīng)的搜索方法可以包括以下步驟:s201,根據(jù)預(yù)設(shè)的特征提取規(guī)則,確定搜索文本串的特征;這里的搜索文本串可以是用戶輸入的搜索關(guān)鍵詞本身、也可以是對搜索關(guān)鍵詞進行某種預(yù)處理后得到的結(jié)果,例如對搜索關(guān)鍵詞的進行分詞后得到的多個分詞單元、搜索關(guān)鍵詞的同義詞、搜索關(guān)鍵詞的智能糾錯結(jié)果,等等。具體 的預(yù)處理方式由實際搜索引擎的搜索策略決定,本申請中不做限定。另外,可以理解的是,本步驟中的特征提取規(guī)則,應(yīng)該與s102中特征提取規(guī)則保持一致。s202,在以所述搜索文本串的特征為標(biāo)識的索引文件中,查找所述搜索文本串的索引信息;由于在索引構(gòu)建階段,已經(jīng)根據(jù)文本子串的特征對索引信息進行分別存儲,并且以相應(yīng)的特征信息作為索引文件的標(biāo)識,因此在本步驟中,可以根據(jù)當(dāng)前搜索文本串的特征,直接定位到存儲有該搜索文本串索引信息的索引文件。s203,根據(jù)索引信息查找結(jié)果生成搜索結(jié)果。根據(jù)s202所定位到的索引文件,在該索引文件中進一步查找該搜索文本串的索引信息,并進一步生成搜索結(jié)果??梢?,應(yīng)用本申請方案,由于根據(jù)文本子串的特征對索引文件進行的區(qū)分存儲,因此在搜索階段,針對某個特定的搜索文本串,可以一次性定位到包含該搜索文本串的索引文件,避免遍歷所有的索引文件,從而提高搜索效率。另外,根據(jù)本申請方案,當(dāng)所有的已知文檔中不包含用戶想要的搜索結(jié)果時,對應(yīng)幾種情形的處理方式如下:如果在s202沒有找到以搜索文本串特征為標(biāo)識的索引文件,則直接返回“無匹配搜索結(jié)果”;如果在s202找到以搜索文本串特征為標(biāo)識的索引文件,但是在該索引文件中并沒有查找到搜索文本串的索引信息,則返回“無匹配搜索結(jié)果”,無需考慮其他索引文件;可見,在“無匹配搜索結(jié)果”時,本申請方案與現(xiàn)有技術(shù)方案(需要遍歷所有的索引文件)相比,搜索效率也得到了明顯的提升??梢岳斫獾氖牵陨蠈嵤├攸c是對本申請與現(xiàn)有技術(shù)的區(qū)別進行說明,在實際應(yīng)用中,本申請方案的各個步驟均可以采用現(xiàn)有的其他方式實現(xiàn)。例如:在索引信息中,除了記錄包含索引詞的文檔標(biāo)識之外,還可以進一步記錄索引詞在各個文檔中的詞頻信息、出現(xiàn)位置信息等;索引文件可以采用“哈希表+鏈 表”、樹形結(jié)構(gòu)等方式進行存儲;在索引文件內(nèi)部可以采用二分法查找具體的索引信息;等等。本領(lǐng)域技術(shù)人員可以根據(jù)實際情況選擇具體的實施方式,本申請不做限定。下面結(jié)合一個具體的實例,對本申請方案進行示意性說明。假設(shè)特征提取規(guī)則為:以文本子串首字的漢語拼音首字母作為該文本子串的特征,則對于以下幾個給定文本子串:安全、愛情、阿里巴巴、班級、幫忙、蒼白、彩票,索引建立過程如下:首先對文本子串進行特征提取,結(jié)果如下:安全,特征為a;愛情,特征為a;阿里巴巴,特征為a;班級,特征為b;幫忙,特征為b;蒼白,特征為c;彩票,特征為c;然后根據(jù)各個文本子串的特征,分別將文本子串的索引信息寫入具有對應(yīng)特征標(biāo)識的索引文件,假設(shè)特征a、b、c對應(yīng)的索引文件名分別為:index_a、index_b、index_c,則最終的索引信息寫入結(jié)果如下:索引文件index_a:安全文檔2,文檔3愛情文檔1,文檔3,文檔5阿里巴巴文檔2,文檔3,文檔5索引文件index_b:班級文檔2,文檔4幫忙文檔5索引文件index_c:蒼白文檔3,文檔6彩票文檔5,文檔6生成上述索引文件后,在搜索階段,幾種可能出現(xiàn)的情形如下:假設(shè)用戶輸入的搜索關(guān)鍵詞為“彩票”,則搜索引擎首先提取該關(guān)鍵詞的特征,特征提取規(guī)則與索引建立階段一致,仍然為“以文本子串首字的漢語拼音 首字母作為該文本子串的特征”,對應(yīng)的特征提取結(jié)果為“c”,然后直接在以特征c為標(biāo)識的索引文件index_c中,查找到“彩票”的索引信息,最后將“文檔5、文檔6”作為搜索結(jié)果輸出。假設(shè)用戶輸入的搜索關(guān)鍵詞為“參考”,首先得到特征提取結(jié)果為“c”,然后直接在以特征c為標(biāo)識的索引文件index_c中,查找“參考”的索引信息,由于查找失敗,因此將輸出“無匹配搜索結(jié)果”。假設(shè)用戶輸入的搜索關(guān)鍵詞為“代碼”,首先得到特征提取結(jié)果為“d”,由于當(dāng)前不存在以特征d為標(biāo)識的索引文件,因此直接輸出“無匹配搜索結(jié)果”。可見,應(yīng)用本申請方案,無論已知文檔中是否包含用戶所希望的搜索結(jié)果,在進行搜索時都不需要遍歷所有的索引文件。上述實施例中,是以文本子串首字的漢語拼音首字母作為該文本子串的特征,實際應(yīng)用中,并不僅限于提取首字的拼音首字母,例如,在不超過文本子串長度的前提下,可以提取文本子串前2個字符、前3個字符……作為該文本子串的特征。在本申請的一種具體實施方式中,還可以動態(tài)提取文本子串的前m個字符的首字母作為該文本子串的特征,其中m的取值可以根據(jù)待處理文本子串第1個字符的首字母使用頻率動態(tài)確定,這樣做的好處是避免某個索引文件體積過大。例如,對于特征a、b、c,由于以b、c為首字拼音首字母的詞條,相對于以a為首字拼音首字母的詞條數(shù)量更多(具體可以體現(xiàn)為使用頻率統(tǒng)計是否大于某個閾值),因此對于以b、c為首字拼音首字母的文本子串,可以提取前2個字符的首字拼音首字母作為特征。例如“班級”的特征為bj,“幫忙”的特征為“bm”,等等。對應(yīng)的索引文件也可以命名為例如index_bj、index_bm,等等。為了避免索引文件過于分散,可以將多個特征對應(yīng)的索引信息按照一定規(guī)則進行合并,例如:將ba~bm特征對應(yīng)的索引信息合并存儲在名為index_b1索引文件中,將bn~bz特征對應(yīng)的索引信息合并存儲在名為index_b2索引文件中。當(dāng)然,由于用戶設(shè)備對索引文件的限制,即便是對于某一個特征的索引文件,也可能會出現(xiàn)體積超標(biāo)的情況,這時就需要對索引文件進行拆分存儲處理。 拆分的基本原則是:對于某個特征x,拆分后得到的多個子文件仍然都以x作為標(biāo)識,并且子文件之間有所區(qū)別。進一步的要求是:能夠按照一定的規(guī)則進行拆分,以避免在確定搜索文本串的特征后,還要再次遍歷該特征的不同索引子文件。例如,對于特征為b的索引詞,當(dāng)索引文件體積超過預(yù)設(shè)閾值時,按照索引詞第二個字的拼音首字母(a~m或n~z),將索引詞拆分存儲在兩個索引子文件中index_b1,index_b2,(此處與前一實施例的區(qū)別在于:第二個字的拼音首字母是作為一種拆分存儲規(guī)則,而不是作為特征的一部分),同時對上述拆分存儲規(guī)則進行記錄。在搜索階段,用戶輸入的搜索關(guān)鍵詞為“班級”,則首先提取出該詞特征b,發(fā)現(xiàn)特征b對應(yīng)多個索引子文件之后,進一步讀取特征b對應(yīng)的拆分存儲規(guī)則,然后根據(jù)該規(guī)則確定:應(yīng)該在子文件index_b1中查找“班級”對應(yīng)的索引信息。隨著文檔數(shù)量的增加,需要索引的信息量也會越來越大,如果有需要,還可以繼續(xù)將某個特征的索引子文件拆分為3個、4個……。另外,也可以根據(jù)某個特征對應(yīng)的文本串?dāng)?shù)量(可以是統(tǒng)計值或經(jīng)驗值等),預(yù)先配置該特征對應(yīng)的索引子文件數(shù)量,并且確定拆分存儲規(guī)則,從而避免后續(xù)在索引構(gòu)建過程中,對索引文件進行多次拆分處理。對于本地搜索應(yīng)用而言,用戶設(shè)備存儲空間受限也是一個需要考慮的問題,根據(jù)現(xiàn)有技術(shù)的方案,在對文檔中的文本串進行切分時,采用的方式是逐字切分的窮舉法。例如,需要針對文本串“今天天氣真好”來建立索引,那么切分的出的文本子串包括:“今”“天”“氣”“真”“好”“今天”“天天”“天氣”“氣真”“真好”“今天天”“天天氣”“天氣真”……等,直至“今天天氣真”“天天氣真好”“今天天氣真好”。也就是說,對于長度為n的文本串,切分出的文本子串?dāng)?shù)量為:數(shù)量級別達到了o(n3),當(dāng)需要索引的內(nèi)容增加時,索引文件的體積會迅速增大。針對上述問題,本申請?zhí)峁┑囊环N的文本串切分方案為:將長度為n的文本串切分為n個文本子串,分別為:該文本串的第1~n個字符、該文本串的第2~n個字符、……該文本串的第n個字符。也就是說,對于長度為n的文本串,切分出的文本子串?dāng)?shù)量為:數(shù)量級別減小至o(n2)。仍以前面的例子進行說明,應(yīng)用本申請方案,如果需要針對文本串“今天天氣真好”來建立索引,那么切分的出的文本子串僅包括:“今天天氣真好”,“天天氣真好”,“天氣真好”,“氣真好”,“真好”,“好”。假設(shè)用戶需要搜索“天氣”,則先提取“天氣”的特征,然后在該特征對應(yīng)的索引文件中搜索“天氣”的索引信息即可??梢姡旧暾埶峁┑奈谋敬蟹址桨?,與現(xiàn)有的文本串切分方案相比,在不影響索引內(nèi)容全面性的情況下,切分出文本子串的數(shù)量明顯減少,因此可以有效縮減索引文件的體積,更適應(yīng)于存儲空間受限的應(yīng)用場景。同時,由于單個特征索引數(shù)據(jù)量也得到有效控制,因此也能夠進一步提高在索引文件內(nèi)部進行索引信息查找的效率。相應(yīng)于上述方法實施例,本申請還提供一種搜索引擎索引構(gòu)建裝置,參見圖3所示,該裝置可以包括:切分模塊110,用于對文檔中的文本串進行切分處理,得到對應(yīng)的文本子串;特征確定模塊120,用于根據(jù)預(yù)設(shè)的特征提取規(guī)則,確定每個文本子串的特 征;索引信息寫入模塊130,用于針對任意文本子串,將其索引信息寫入以其特征作為標(biāo)識的索引文件中,其中,每種特征至少對應(yīng)一個索引文件。在本申請的一種具體實施方式中,切分模塊110可以具體用于:將長度為n的文本串切分為n個文本子串,n個文本子串分別為:該文本串的第1~n個字符、該文本串的第2~n個字符、……該文本串的第n個字符。在本申請的一種具體實施方式中,特征確定模塊120可以具體用于:將每個文本子串前m個字符的拼音首字母序列確定為該文本子串的特征,m≥1。在本申請的一種具體實施方式中,m的取值可以根據(jù)待處理文本子串第8個字符的首字母使用頻率動態(tài)確定。參見圖4所示,在本申請的一種具體實施方式中,上述裝置還可以包括:索引文件拆分模塊140,用于當(dāng)索引文件的體積超過預(yù)設(shè)閾值時,對該索引文件進行拆分存儲處理。索引文件配置模塊150,用于針對每種特征,根據(jù)該特征對應(yīng)的文本串?dāng)?shù)量,預(yù)先配置該特征對應(yīng)的索引文件數(shù)量??梢岳斫獾氖?,索引文件拆分模塊140與索引文件配置模塊150作為兩種功能獨立的模塊,既可以如圖4所示同時配置在裝置中,也可以分別單獨配置在裝置中,因此圖4所示的結(jié)構(gòu)不應(yīng)理解為對本申請方案的限定。本申請還提供一種基于上述搜索引擎索引的搜索裝置,參見圖5所示,該裝置可以包括:特征確定模塊210,用于根據(jù)特征提取規(guī)則,確定搜索文本串的特征;索引信息查找模塊220,用于在以搜索文本串的特征為標(biāo)識的索引文件中,查找搜索文本串的索引信息;搜索結(jié)果生成模塊230,用于根據(jù)索引信息查找結(jié)果生成搜索結(jié)果。本申請還提供一種搜索系統(tǒng),該系統(tǒng)包括上述的索引構(gòu)建裝置以及搜索裝置。如圖6所示,索引信息查找模塊220利用索引信息寫入模塊130生成的索引進行搜索。特征確定模塊120具體用于在索引構(gòu)建階段對索引詞進行特征確定,而特征確定模塊210具體用于在搜索階段對搜索詞進行特征確定,兩個模塊使用的特征提取規(guī)則一致。上述裝置中各個模塊的功能和作用的實現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實現(xiàn)過程,在此不再贅述。通過以上的實施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)。基于這樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施例或者實施例的某些部分所述的方法。本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置或系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置或系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,在實施本申請方案時可以把各模塊的功能在同一個或多個軟件和/或硬件中實現(xiàn)。也可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。以上所述僅是本申請的具體實施方式,應(yīng)當(dāng)指出,對于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本申請原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本申請的保護范圍。當(dāng)前第1頁12