本發(fā)明涉及信息處理領(lǐng)域,具體而言,涉及一種搜索方法和裝置。
背景技術(shù):
:目前各大搜索引擎的實時索引系統(tǒng),為了避免影響檢索的時效性,沒有進(jìn)行結(jié)果緩存。在處理所有的檢索請求時,實時索引系統(tǒng)僅索引最近一段時間的數(shù)據(jù),而非實時索引系統(tǒng)需要索引全量歷史數(shù)據(jù)。在檢索時,將實時索引系統(tǒng)的檢索結(jié)果與帶緩存的非實時索引系統(tǒng)的檢索結(jié)果融合后返回給搜索用戶。整個系統(tǒng)流程如圖1所示,實時索引系統(tǒng)11基于關(guān)鍵詞在最近一段時間內(nèi)的數(shù)據(jù)中進(jìn)行檢索得到第一結(jié)果,非實時索引系統(tǒng)13基于關(guān)鍵詞在全量數(shù)據(jù)中進(jìn)行檢索得到第二結(jié)果,將第二結(jié)果進(jìn)行緩存,并將第一結(jié)果和第二結(jié)果進(jìn)行融合,得到最終的檢索結(jié)果。在上述方案中,為了保證檢索的時效性,放棄了結(jié)果緩存,在提升時新性效果的同時,也極大的增加了實時檢索系統(tǒng)的性能壓力。對于用戶量很大的檢索系統(tǒng),無緩存機(jī)制的實時索引方案會導(dǎo)致大量的計算資源需求。同時,由于互聯(lián)網(wǎng)或者暗網(wǎng)的數(shù)據(jù)更新量在一定時間窗口范圍內(nèi)是有限的,時間窗口越小,更新量越少,大量相關(guān)請求會造成大量的重復(fù)計算。例如,在A時刻搜索了QueryString1,需要完成1000篇相關(guān)文檔的計算,在A時刻之后新增了一篇與QueryString1相關(guān)的文檔,在間隔很短的B時刻某用戶又發(fā)起了搜索QueryString1的請求,則需要重新計算之前的1000篇相關(guān)文檔以及新增的一篇文檔,對于B時刻發(fā)起的搜索而言,絕大部分計算過程是重復(fù)的。針對上述搜索效率低的問題,目前尚未提出有效的解決方案。技術(shù)實現(xiàn)要素:本發(fā)明實施例提供了一種搜索方法和裝置,以至少解決搜索效率低的技術(shù)問題。根據(jù)本發(fā)明實施例的一個方面,提供了一種搜索方法,包括:在接收到搜索請求之后,獲取所述搜索請求的歷史搜索結(jié)果;根據(jù)所述歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù),其中,所述增量數(shù)據(jù)用于表示新增數(shù)據(jù)中與所述查詢請求具有索引關(guān)系的數(shù)據(jù),所述新增數(shù)據(jù)為在生成所述歷史搜索結(jié)果之后增加入所述系統(tǒng)中的數(shù)據(jù);在檢測出存在所述增量數(shù)據(jù)的情況下,確定所述增量數(shù)據(jù)對應(yīng)的增量搜索結(jié)果;至少基于所述增量搜索結(jié)果,確定所述搜索請求的搜索結(jié)果。根據(jù)本發(fā)明實施例的另一方面,還提供了一種搜索裝置,包括:獲取單元,用于在接收到搜索請求之后,獲取所述搜索請求的歷史搜索結(jié)果;檢測單元,根據(jù)所述歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù),其中,所述增量數(shù)據(jù)用于表示新增數(shù)據(jù)中與所述查詢請求具有索引關(guān)系的數(shù)據(jù),所述新增數(shù)據(jù)為在生成所述歷史搜索結(jié)果之后增加入所述系統(tǒng)中的數(shù)據(jù);第一確定單元,在檢測出存在所述增量數(shù)據(jù)的情況下,用于確定所述增量數(shù)據(jù)對應(yīng)的增量搜索結(jié)果;第二確定單元,用于至少基于所述增量搜索結(jié)果,確定所述搜索請求的搜索結(jié)果。在本發(fā)明實施例中,在接收到搜索請求之后,基于該搜索請求對應(yīng)的歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù),若檢測出存在增量數(shù)據(jù),則在該增量數(shù)據(jù)中執(zhí)行搜索操作,得到增量搜索結(jié)果,基于該增量搜索結(jié)果和歷史搜索結(jié)果,確定搜索請求的搜索結(jié)果,在該方案中無需在全量歷史數(shù)據(jù)中執(zhí)行搜索操作,僅需在增量數(shù)據(jù)中執(zhí)行搜索操作,節(jié)省了搜索操作的時間,進(jìn)一步地,基于歷史搜索結(jié)果和增量搜索結(jié)果確定搜索請求的搜索結(jié)果,也可以保證搜索請求的準(zhǔn)確性,解決了現(xiàn)有技術(shù)中搜索效率低的問題,提高了搜索效率。附圖說明此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:圖1是現(xiàn)有技術(shù)中的實時索引系統(tǒng)的搜索處理流程圖;圖2是根據(jù)本發(fā)明實施例的搜索方法的硬件環(huán)境的示意圖;圖3是根據(jù)本發(fā)明實施例的一種可選的搜索方法的流程圖;圖4是根據(jù)本發(fā)明實施例的又一種可選的搜索方法的流程圖;圖5是根據(jù)本發(fā)明實施例的另一種可選的搜索方法的流程圖;圖6是根據(jù)本發(fā)明實施例的另一種可選的搜索方法的原理圖;圖7是根據(jù)本發(fā)明實施例的另一種可選的搜索方法的語素與文檔標(biāo)識的索引關(guān)系示意圖;圖8是根據(jù)本發(fā)明實施例的再一種可選的搜索方法的流程圖;圖9是根據(jù)本發(fā)明實施例的一種可選的搜索裝置的示意圖;圖10是根據(jù)本發(fā)明實施例的一種可選的搜索裝置的示意圖;以及圖11是根據(jù)本發(fā)明實施例的一種終端的結(jié)構(gòu)框圖。具體實施方式為了使本
技術(shù)領(lǐng)域:
的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。首先,在對本發(fā)明實施例進(jìn)行描述的過程中出現(xiàn)的部分名詞或者術(shù)語適用于如下解釋:倒排索引:索引表中的每一項都包括一個屬性值,索引表中記錄具有該屬性值的記錄集的起始存放地址和總長度;用戶搜索時會根據(jù)屬性值來確定索引項,從而找到具體的記錄集。內(nèi)存索引:將索引和數(shù)據(jù)都存放在內(nèi)存中的檢索系統(tǒng)。歸并查找:對多個有序數(shù)據(jù)段通過多路遍歷的方式來獲得各數(shù)據(jù)段交集的方法。根據(jù)本發(fā)明實施例,提供了一種搜索的方法實施例,該方案可以應(yīng)用在搜索引擎中??蛇x地,在本實施例中,上述搜索方法可以應(yīng)用于如圖2所示的由服務(wù)器202和終端204所構(gòu)成的硬件環(huán)境中。如圖2所示,服務(wù)器202通過網(wǎng)絡(luò)與終端204進(jìn)行連接,上述網(wǎng)絡(luò)包括但不限于:廣域網(wǎng)、城域網(wǎng)或局域網(wǎng),終端204并不限定于PC、手機(jī)、平板電腦等。本發(fā)明實施例的搜索方法可以由服務(wù)器202來執(zhí)行,也可以由終端204來執(zhí)行,還可以是由服務(wù)器202和終端204共同執(zhí)行。其中,終端204執(zhí)行本發(fā)明實施例的搜索方法也可以是由安裝在其上的客戶端來執(zhí)行??蛇x地,用戶可以通過用戶終端的頁面輸入搜索關(guān)鍵字,在輸入搜索關(guān)鍵字之后,點擊確定按鍵可以生成搜索請求,終端將該搜索請求發(fā)送至搜索服務(wù)器,服務(wù)器接收到搜索請求之后,執(zhí)行上述搜索方法,以獲取該搜索請求對應(yīng)的搜索結(jié)果。服務(wù)器獲取到該搜索請求之后,從服務(wù)器的緩存中,讀取與該搜索請求對應(yīng)的歷史搜索結(jié)果,該歷史搜索結(jié)果可以為在歷史時間段內(nèi)接收到該搜索請求之后,按照本申請實施例的方案搜索得到的結(jié)果。其中,搜索結(jié)果中可以包括多個文檔的信息,該搜索結(jié)果可以按照與搜索請求的相關(guān)度的強(qiáng)弱來排序文檔。服務(wù)器將該搜索結(jié)果返回給用戶終端,用戶終端可以在頁面中展示該搜索結(jié)果。進(jìn)一步地,服務(wù)器獲取到歷史搜索結(jié)果之后,基于該歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù),也即,檢測服務(wù)器存儲的文檔中是否有新增的文檔,若檢測出系統(tǒng)中存在增量數(shù)據(jù),則對該增量數(shù)據(jù)執(zhí)行搜索操作,得到增量搜索結(jié)果,基于該歷史搜索結(jié)果和增量搜索結(jié)果得到與該搜索請求對應(yīng)的搜索結(jié)果。本申請?zhí)峁┝艘环N搜索方法,如圖3所示,該搜索方法的實施例可以通過如下步驟實現(xiàn):步驟S302:在接收到搜索請求之后,獲取搜索請求的歷史搜索結(jié)果;步驟S304:根據(jù)歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù),其中,根據(jù)歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù),增量數(shù)據(jù)用于表示新增數(shù)據(jù)中與查詢請求具有索引關(guān)系的數(shù)據(jù),新增數(shù)據(jù)為在生成歷史搜索結(jié)果之后增加入系統(tǒng)中的數(shù)據(jù);步驟S306:在檢測出存在增量數(shù)據(jù)的情況下,對增量數(shù)據(jù)執(zhí)行搜索操作,得到增量搜索結(jié)果;步驟S308:至少基于增量搜索結(jié)果,確定搜索請求的搜索結(jié)果。通過上述實施例,在接收到搜索請求之后,從緩存的結(jié)果數(shù)據(jù)中,獲取搜索請求的歷史搜索結(jié)果,根據(jù)歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù),其中,增量數(shù)據(jù)為在生成歷史搜索結(jié)果之后增加入系統(tǒng)中的數(shù)據(jù),在檢測出存在增量數(shù)據(jù)的情況下,對增量數(shù)據(jù)執(zhí)行搜索操作,得到增量搜索結(jié)果,至少基于增量搜索結(jié)果,確定搜索請求的搜索結(jié)果。在上述實施例中,在接收到搜索請求之后,基于該搜索請求對應(yīng)的歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù),若檢測出存在增量數(shù)據(jù),則在該增量數(shù)據(jù)中執(zhí)行搜索操作,得到增量搜索結(jié)果,基于該增量搜索結(jié)果和歷史搜索結(jié)果,確定搜索請求的搜索結(jié)果,在該方案中無需在全量歷史數(shù)據(jù)中執(zhí)行搜索操作,僅需在增量數(shù)據(jù)中執(zhí)行搜索操作,節(jié)省了搜索操作的時間,進(jìn)一步地,基于歷史搜索結(jié)果和增量搜索結(jié)果確定搜索請求的搜索結(jié)果,也可以保證搜索請求的準(zhǔn)確性,解決了現(xiàn)有技術(shù)中搜索效率低的問題,提高了搜索效率。在步驟S302提供的技術(shù)方案中,在接收到搜索請求之后,從緩存的結(jié)果數(shù)據(jù)中,獲取搜索請求的歷史搜索結(jié)果,可選地,在服務(wù)器中可以緩存每次搜索的搜索結(jié)果,在接收到新的搜索請求時,該緩存的搜索結(jié)果成為了該搜索請求的歷史搜索結(jié)果。在服務(wù)器記錄每次搜索的搜索結(jié)果的情況下,若接收到新的搜索請求,則可以獲取距離當(dāng)前時間最近的搜索結(jié)果;在服務(wù)器記錄最新搜索請求的搜索結(jié)果的情況下,若接收到新的搜索請求,則可以獲取該存儲的最新的搜索結(jié)果。可選地,歷史搜索結(jié)果中記錄有生成該結(jié)果時系統(tǒng)中記錄的文檔的歷史信息,該文檔為系統(tǒng)中記錄的供搜索使用的文檔。優(yōu)選地,該歷史信息可以用文檔的標(biāo)識來表示。在步驟S304提供的技術(shù)方案中,根據(jù)歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù)。服務(wù)器將所有相關(guān)的文檔存儲在系統(tǒng)中,可選地,服務(wù)器可以利用倒排索引的方式記錄各個語素與文檔的索引關(guān)系,該倒排索引是根據(jù)屬性的值來查找記錄。這種索引表中的每一項都包括一個屬性值和具有該屬性值的各記錄的地址。由于不是由記錄來確定屬性值,而是由屬性值來確定記錄的位置,因而稱為排序索引,帶有倒排索引的文件可以稱之為倒排索引文件,簡稱倒排文件。服務(wù)器對系統(tǒng)中記錄的多個文檔進(jìn)行預(yù)處理,生成各個語素與各個文檔的索引關(guān)系,將每個語素與多個文檔的索引關(guān)系記錄在倒排索引表中,倒排索引表中每一項用于記錄一個語素與多個文檔的索引關(guān)系,該索引關(guān)系中可以記錄語素與多個文檔標(biāo)識的索引關(guān)系。在該實施例中,搜索請求中可以包括一個或多個搜索關(guān)鍵字,在執(zhí)行搜索請求的過程中,將每個搜索關(guān)鍵字拆分為一個或多個語素,在執(zhí)行搜索操作時,可以從倒排索引表中搜索各個語素對應(yīng)的文檔。可選地,通過生成歷史搜索結(jié)果時系統(tǒng)中記錄的文檔的歷史信息來檢測該系統(tǒng)中是否存在增量數(shù)據(jù)(如各個語素的增量文檔集合),在檢測過程中,若檢測出倒排索引表中存在未被歷史信息記錄的新的文檔信息,則確定該系統(tǒng)中存在增量數(shù)據(jù);若檢測出倒排索引表中存在不存在未被歷史信息記錄的新的文檔信息,則確定該系統(tǒng)中不存在增量數(shù)據(jù)。進(jìn)一步可選地,若倒排索引表中存在未被歷史信息記錄的、且與查詢請求的語素具有索引關(guān)系的新的文檔信息,則確定該系統(tǒng)中存在增量數(shù)據(jù);若檢測出倒排索引表中不存在未被歷史信息記錄的、且與查詢請求的語素具有索引關(guān)系的新的文檔信息,則確定該系統(tǒng)中不存在增量數(shù)據(jù)。在步驟S306提供的技術(shù)方案中,在檢測出存在增量數(shù)據(jù)的情況下,確定增量數(shù)據(jù)對應(yīng)的增量搜索結(jié)果??蛇x地,增量數(shù)據(jù)用于表示新增數(shù)據(jù)中與查詢請求相對應(yīng)的數(shù)據(jù),進(jìn)一步可選地,該增量數(shù)據(jù)用于表示新增數(shù)據(jù)中與查詢請求的語素具有索引關(guān)系的數(shù)據(jù)。在一個可選的實施例中,在檢測出系統(tǒng)中存在新增數(shù)據(jù)的情況下,在新增文檔中執(zhí)行搜索操作,以對增量數(shù)據(jù)執(zhí)行搜索操作,對搜索請求中的搜索關(guān)鍵字進(jìn)行分詞處理得到該搜索關(guān)鍵字對應(yīng)的一個或多個語素,獲取包含各個語素的新增文檔集合。進(jìn)一步可選地,在獲取到增量數(shù)據(jù)之后,確定增量數(shù)據(jù)對應(yīng)的增量搜索結(jié)果可以包括:對增量數(shù)據(jù)中,各個語素對應(yīng)的新增文檔集合(即增量文檔集合)進(jìn)行求交處理,得到增量搜索結(jié)果??蛇x地,從已經(jīng)更新的倒排索引表中獲取各個語素與新增文檔的對應(yīng)關(guān)系(即索引關(guān)系),可以獲取包含各個語素的新增文檔集合。在該實施例中,得到各個語素對應(yīng)的增量文檔集合,對多個語素對應(yīng)的增量文檔集合進(jìn)行求交處理,得到增量搜索結(jié)果。其中,求交處理可以為獲取多個語素對應(yīng)的增量文檔的交集,得到該多個語素對應(yīng)的增量搜索結(jié)果。例如,搜索關(guān)鍵字包括3個語素(包括語素A、B和C),增量數(shù)據(jù)中包括10個文檔(分別為文檔1、文檔2、文檔3、文檔4、文檔5、文檔6、文檔7、文檔8、文檔9以及文檔10),確定出的語素與增量文檔的對應(yīng)關(guān)系如表1所示。需要說明的是,表1僅作示例性說明,語素與文檔的對應(yīng)關(guān)系可以以不同于表1的方式展示出來,該表1對語素與文檔的對應(yīng)關(guān)系的展示方式不做具體限定。表1語素文檔A文檔1、文檔3、文檔5、文檔9B文檔3、文檔5、文檔6、文檔8、文檔10C文檔2、文檔3、文檔4、文檔5、文檔7如表1所示,語素A對應(yīng)的增量文檔為文檔1、文檔3、文檔5和文檔9;語素B對應(yīng)的增量文檔為文檔3、文檔5、文檔6、文檔8和文檔10;語素C對應(yīng)的增量文檔為文檔2、文檔3、文檔4、文檔5、文檔6和文檔7。在確定出各個語素對應(yīng)的新增文檔之后,對多個語素對應(yīng)的新增文檔進(jìn)行求交處理,在表1所示的示例中,執(zhí)行求交處理之后,得到的結(jié)果為:文檔3和文檔5,也即,得到的增量搜索結(jié)果用于記錄該文檔3和文檔5。在步驟S308提供的技術(shù)方案中,至少基于增量搜索結(jié)果,確定搜索請求的搜索結(jié)果,可以根據(jù)該搜索結(jié)果確定該搜索請求的搜索結(jié)果??蛇x地,在檢測出存在增量數(shù)據(jù)的情況下,對增量數(shù)據(jù)執(zhí)行搜索操作,得到增量搜索結(jié)果,若該增量搜索結(jié)果不為空,則至少基于增量搜索結(jié)果,確定搜索請求的搜索結(jié)果;若增量搜索結(jié)果為空,則將歷史搜索結(jié)果作為該搜索請求的搜索結(jié)果??蛇x地,該搜索結(jié)果中可以按照順序記錄搜索到的多個文檔信息,該文檔信息可以包括下述至少之一:文檔標(biāo)識、文檔數(shù)量、文檔名稱以及文檔數(shù)據(jù)容量(即內(nèi)容大小)。其中,多個文檔信息可以按照搜索到的文檔與搜索關(guān)鍵字的關(guān)聯(lián)度大小排序。進(jìn)一步地,在獲取到搜索請求的搜索結(jié)果之后,可以將其返回給發(fā)送搜索請求的終端,該終端接收到搜索結(jié)果之后,可以將接收到的搜索結(jié)果展示在終端的界面上??蛇x地,用戶可以在終端的瀏覽器中輸入搜索請求,在接收到搜索結(jié)果之后,可以將該搜索結(jié)果顯示在瀏覽器中。在一個可選的實施例中,在得到搜索請求的搜索結(jié)果之后,將搜索請求的搜索結(jié)果發(fā)送至終端;若檢測出終端展示搜索結(jié)果的時長超過預(yù)定時長,則系統(tǒng)自動發(fā)起搜索請求??蛇x地,終端在接收到搜索結(jié)果之后,將該搜索結(jié)果展示在搜索結(jié)果頁中,系統(tǒng)實時檢測該終端展示搜索結(jié)果頁的展示時長,若檢測到該展示時長超過預(yù)定時長,則自動發(fā)起該搜索請求,并再次執(zhí)行上述步驟S302至步驟S308的操作。根據(jù)本發(fā)明的上述實施例,在根據(jù)歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù)之后,方法還可以包括:在檢測出不存在增量數(shù)據(jù)的情況下,基于歷史搜索結(jié)果確定搜索請求的搜索結(jié)果??蛇x地,若檢測出系統(tǒng)中不存在增量數(shù)據(jù),也即,可以確定系統(tǒng)在生成歷史搜索結(jié)果之后,未存入新的文檔,在該種情況下,若再次執(zhí)行該搜索請求,得到的搜索結(jié)果應(yīng)該與歷史搜索結(jié)果是一致的,因此,在系統(tǒng)中不存在增量數(shù)據(jù)的情況下,無需重復(fù)執(zhí)行搜索操作,直接將該歷史搜索結(jié)果作為此次搜索的結(jié)果。通過該實施例可以節(jié)省大量的資源,提高了整個系統(tǒng)的處理速度。在一個可選的實施例中,在執(zhí)行步驟S302之前,檢測是否接收到搜索請求,可選地,若檢測到終端發(fā)送的搜索請求,則確定接收到搜索請求;若檢測到網(wǎng)關(guān)接口CGI發(fā)起的搜索請求,則確定接收到搜索請求。其中,搜索網(wǎng)關(guān)接口在檢測到終端展示搜索結(jié)果的時間超長預(yù)定時長的情況下,發(fā)起搜索請求。可選地,系統(tǒng)在將搜索請求發(fā)送至終端之后,檢測終端展示搜索結(jié)果的搜索結(jié)果頁的展示時長是否超過預(yù)定時長,如超過1分鐘,則系統(tǒng)自動發(fā)起搜索請求。根據(jù)上述實施例,至少基于增量搜索結(jié)果,確定搜索請求的搜索結(jié)果包括:匯總歷史搜索結(jié)果和增量搜索結(jié)果,得到搜索請求的搜索結(jié)果??蛇x地,匯總歷史搜索結(jié)果和增量搜索結(jié)果,得到搜索請求的搜索結(jié)果包括下述至少之一:對歷史搜索結(jié)果和增量搜索結(jié)果進(jìn)行排序,得到搜索請求對應(yīng)的文檔信息集合,其中,搜索結(jié)果包括文檔信息集合;統(tǒng)計歷史搜索結(jié)果和增量搜索結(jié)果所包含的文檔數(shù)量,其中,搜索結(jié)果包括文檔數(shù)量。該文檔信息集合中可以包括搜索到的文檔標(biāo)識的集合。進(jìn)一步可選地,若搜索請求為終端發(fā)送的請求,則至少基于增量搜索結(jié)果,確定搜索請求的搜索結(jié)果包括:若搜索請求為用戶輸入的請求,則基于歷史搜索結(jié)果和增量搜索結(jié)果,確定搜索請求的搜索結(jié)果??蛇x地,確定搜索請求所指示的展示方式,根據(jù)該展示方式,基于歷史搜索結(jié)果和增量搜索結(jié)果確定搜索請求的搜索結(jié)果。進(jìn)一步可選地,根據(jù)展示方式,匯總歷史搜索結(jié)果和增量搜索結(jié)果,確定搜索請求的搜索結(jié)果包括:若展示方式為展示搜索結(jié)果的文檔信息集合,則對歷史搜索結(jié)果和增量搜索結(jié)果進(jìn)行排序,得到搜索請求的搜索結(jié)果。若該搜索請求為終端發(fā)送的請求,該搜索請求可以請求展示搜索結(jié)果的具體內(nèi)容,該搜索結(jié)果的內(nèi)容可以包括:搜索得到的文檔標(biāo)識、文檔名稱、文檔內(nèi)容大小等。在該實施例中,在獲取到增量搜索結(jié)果之后,綜合歷史搜索結(jié)果和增量搜索結(jié)果,得到該次搜索請求的搜索結(jié)果,在該實施例中,對于已經(jīng)執(zhí)行過的歷史搜索結(jié)果無需重復(fù)執(zhí)行操作,在增量數(shù)據(jù)中執(zhí)行搜索操作,最后,將歷史搜索結(jié)果和增量搜索結(jié)果綜合得到該次搜索請求的搜索結(jié)果,通過該實施例,不僅可以減少工作量,并且可以保證搜索結(jié)果的時效性、準(zhǔn)確性和完整性。例如,該搜索請求對應(yīng)的歷史搜索結(jié)果用于表示5個文檔,增量搜索結(jié)果用于表示2個文檔,將該歷史搜索結(jié)果和增量搜索結(jié)果匯總得到7個文檔,得到該次搜索請求的搜索結(jié)果,在該搜索結(jié)果中,部分搜索結(jié)果可從數(shù)據(jù)庫的緩存中讀取得到,部分搜索結(jié)果是在接收到該搜索請求之后執(zhí)行搜索操作得到,節(jié)省了搜索資源,并且提高了搜索效率??蛇x地,對歷史搜索結(jié)果和增量搜索結(jié)果進(jìn)行排序,得到搜索請求的搜索結(jié)果包括如圖4所示的步驟:步驟S402:獲取歷史搜索結(jié)果和增量搜索結(jié)果中所包含的所有文檔的標(biāo)識。其中,文檔的標(biāo)識可以按照文檔被錄入系統(tǒng)的順序來確定,可選地,可以按照文檔被錄入系統(tǒng)的順序,在默認(rèn)值的基礎(chǔ)上按照預(yù)定步長來確定,如,默認(rèn)值為1,預(yù)定步長為1,第一篇錄入系統(tǒng)的文檔的標(biāo)識為1,第二篇錄入系統(tǒng)的文檔的標(biāo)識為2,以此類推??蛇x地,在歷史搜索結(jié)果和增量搜索結(jié)果中通過文檔的標(biāo)識來表示搜索到的文檔。在一個可選的實施例中,歷史搜索結(jié)果中的文檔標(biāo)識按照標(biāo)識值的大小排序,或者,按照文檔與搜索關(guān)鍵字的相關(guān)度來排序。其中,相關(guān)度(Relevancy)可以是兩個事物間存在相互聯(lián)系的百分比??蛇x地,文檔或由幾個或一些詞、詞組就可以完全表示其中的內(nèi)容,文檔中詞語與語素(或搜索關(guān)鍵字)的距離(如歐式距離)可以確定文檔與搜索關(guān)鍵字的相關(guān)度。相關(guān)度的值越大,表示文檔與搜索關(guān)鍵字的相關(guān)性越強(qiáng),反之,相關(guān)度的值越小,表示文檔與搜索關(guān)鍵字的相關(guān)性越弱。在將該方案應(yīng)用在搜索引擎的場景中,關(guān)聯(lián)度可以指搜索請求(比如搜索關(guān)鍵字)和搜索結(jié)果(如搜索得到的文檔、網(wǎng)頁)之間的關(guān)聯(lián)程度。步驟S404:基于文檔的標(biāo)識計算各個文檔與搜索請求的相關(guān)度??蛇x地,在獲取文檔的標(biāo)識之后,獲取該標(biāo)識所表示的文檔的詞語,計算文檔中詞語的集合與搜索關(guān)鍵字的關(guān)聯(lián)度,得到各個文檔與搜索請求的相關(guān)度。例如,歷史搜索結(jié)果中包括3個文檔的信息(分別為文檔1、文檔2和文檔3),增量搜索結(jié)果中包括2個文檔的信息(分別為文檔4和文檔5),則分別計算各個文檔與搜索請求的相關(guān)度,計算結(jié)果如表2所示。需要說明的是,表2的展示方式和表中的數(shù)據(jù)僅作示例性說明,本申請對此不做具體限定。表2文檔相關(guān)度文檔135%文檔250%文檔380%文檔496%文檔585%如表2所示,文檔1至5與搜索請求的相關(guān)度分別為:35%、50%、80%、96%和85%。步驟S406:按照計算得到的相關(guān)度對文檔進(jìn)行排序,得到搜索結(jié)果。可選地,按照相關(guān)度的值從大到小排序,得到搜索結(jié)果。如表2所示的示例中,按照相關(guān)度的值從大到小對搜索得到的文檔進(jìn)行排序,得到的搜索結(jié)果為:文檔4、文檔5、文檔3、文檔2、以及文檔1。步驟S408:將搜索結(jié)果發(fā)送至終端??蛇x地,終端接收到該搜索結(jié)果之后,對其進(jìn)行展示。在另一個可選的實施例中,根據(jù)展示方式,基于歷史搜索結(jié)果和增量搜索結(jié)果,確定搜索請求的搜索結(jié)果包括:若展示方式為展示搜索結(jié)果包含的文檔數(shù)量,則統(tǒng)計歷史搜索結(jié)果和增量搜索結(jié)果所包含的文檔數(shù)量,將統(tǒng)計得到的文檔標(biāo)識的數(shù)量作為搜索請求的搜索結(jié)果。可選地,展示方式可以為展示搜索結(jié)果所包含的文檔數(shù)量,也即,搜索請求可以請求展示該搜索關(guān)鍵字可以搜索到的文檔的數(shù)量。在該示例中,在得到歷史搜索結(jié)果和增量搜索結(jié)果之后,統(tǒng)計歷史搜索結(jié)果和增量搜索結(jié)果記錄的文檔的總量,得到搜索結(jié)果,該搜索結(jié)果中記錄搜索得到的文檔總數(shù)量。例如,歷史搜索結(jié)果中包括3個文檔的信息,增量搜索結(jié)果中包括2個文檔的信息,得到的搜索結(jié)果可以為:得到5條結(jié)果。根據(jù)本發(fā)明上述實施例,在檢測到的接收請求為系統(tǒng)(如網(wǎng)關(guān)接口)自動發(fā)起的請求的情況下,至少基于增量搜索結(jié)果,確定搜索請求的搜索結(jié)果包括:基于增量搜索結(jié)果確定增量結(jié)果數(shù),將增量結(jié)果數(shù)確定為搜索請求的搜索結(jié)果。在該示例中,由于用戶在終端的搜索結(jié)果頁停留的時間較長、且用戶仍停留在該頁面上,在確定系統(tǒng)中存在增量數(shù)據(jù)的情況下,可以向終端發(fā)送增量通知,以向終端通知系統(tǒng)中出現(xiàn)了增量數(shù)據(jù),終端可以對該增量通知執(zhí)行預(yù)定操作,以生成確認(rèn)指令或者取消指令,其中,確認(rèn)指令用于指示獲取增量數(shù)據(jù)的增量搜索結(jié)果,取消指令用于指示無需獲取增量數(shù)據(jù)的增量搜索結(jié)果。在服務(wù)器接收到確認(rèn)指令之后,在增量數(shù)據(jù)中執(zhí)行搜索操作獲取增量搜索結(jié)果,并至少基于該增量搜索結(jié)果確定搜索請求的搜索結(jié)果。另一種可選地,在檢測到的接收請求為系統(tǒng)(如網(wǎng)關(guān)接口)自動發(fā)起的請求的情況下,在確定系統(tǒng)中存在增量數(shù)據(jù)的情況下,在增量數(shù)據(jù)中執(zhí)行搜索操作獲取增量搜索結(jié)果,在增量搜索結(jié)果不為空的情況下,向終端發(fā)送增量通知,以向終端通知系統(tǒng)中出現(xiàn)了增量數(shù)據(jù),終端可以對該增量通知執(zhí)行預(yù)定操作,以生成確認(rèn)指令或者取消指令,其中,確認(rèn)指令用于指示獲取增量數(shù)據(jù)的增量搜索結(jié)果,取消指令用于指示無需獲取增量數(shù)據(jù)的增量搜索結(jié)果。在服務(wù)器接收到確認(rèn)指令之后,在增量數(shù)據(jù)中執(zhí)行搜索操作獲取增量搜索結(jié)果,并至少基于該增量搜索結(jié)果確定搜索請求的搜索結(jié)果可選地,至少基于該增量搜索結(jié)果確定搜索請求的搜索結(jié)果可以按照上述的實施方式執(zhí)行;進(jìn)一步地,至少基于該增量搜索結(jié)果確定搜索請求的搜索結(jié)果可以包括:生成用于指示增量搜索結(jié)果所包含的文檔數(shù)量(即上述的增量文檔數(shù))的搜索結(jié)果。根據(jù)本發(fā)明的上述實施例,根據(jù)歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù)包括如圖5所示的步驟:步驟S502:獲取歷史搜索結(jié)果的元信息,其中,元信息中記錄有生成歷史搜索結(jié)果時倒排索引表的歷史信息,倒排索引表中的每一項用于記錄搜索請求中一個語素與文檔的索引關(guān)系??蛇x地,系統(tǒng)按照文檔被錄入系統(tǒng)的先后順序記錄文檔的標(biāo)識,也即,若文檔1錄入系統(tǒng)的時間晚于文檔2錄入系統(tǒng)的時間,則文檔1的標(biāo)識值大于文檔2的標(biāo)識值??蛇x地,歷史信息可以記錄生成歷史搜索結(jié)果時倒排索引表的全部索引信息,也可以記錄倒排索引表中各個語素對應(yīng)的文檔的最大標(biāo)識值。步驟S504:基于倒排索引表的歷史信息和倒排索引表的當(dāng)前信息確定系統(tǒng)中是否存在增量數(shù)據(jù)。進(jìn)一步地,倒排索引表的歷史信息包括各個語素的歷史最大文檔標(biāo)識,倒排索引表的當(dāng)前信息包括各個語素的當(dāng)前最大文檔標(biāo)識,倒排索引表按照文檔被錄入系統(tǒng)的先后順序確定文檔標(biāo)識。步驟S504基于倒排索引表的歷史信息和倒排索引表的當(dāng)前信息確定系統(tǒng)中是否存在增量數(shù)據(jù)可以通過如下方式實現(xiàn):步驟S5042:檢測各個語素的歷史最大文檔標(biāo)識是否與當(dāng)前最大文檔標(biāo)識一致。步驟S5044:若檢測出至少一個語素的歷史最大文檔標(biāo)識與當(dāng)前最大文檔標(biāo)識不一致,則確定系統(tǒng)中存在增量數(shù)據(jù)。進(jìn)一步地需要說明的是,在確定搜索請求的搜索結(jié)果之后,方法還可以包括:利用搜索請求的搜索結(jié)果,更新搜索請求的歷史搜索結(jié)果。通過該實施例,可以實時更新搜索請求的歷史搜索結(jié)果,在下次接收到相同的搜索請求時,可以快速準(zhǔn)確地提供搜索結(jié)果。在上述實施例中,在接收到搜索請求,響應(yīng)該搜索請求進(jìn)行檢索的過程中,會把每次檢索的結(jié)果生成結(jié)果緩存cache(如上述實施例中的歷史搜索請求),并記錄結(jié)果cache的一些元信息,如結(jié)果cache對應(yīng)的倒排的位置等信息。這樣,對于一個重復(fù)的檢索請求,可以先獲取結(jié)果cache,并通過結(jié)果cache記錄的倒排位置等元信息,讀取cache之后的新增倒排并計算符合條件的增量搜索結(jié)果,這些增量搜索結(jié)果與結(jié)果cache進(jìn)行混排后,返回給用戶,同時更新結(jié)果cache和元信息。通過上述實施例,可以實時更新cache,滿足了性能和時效性兩方面的要求,既能滿足索引的實時更新,也能通過緩存提升檢索性能。下面結(jié)合圖6至圖8對本申請的一個可選的實施例(應(yīng)用于搜索引擎交互場景)進(jìn)行詳細(xì)描述。在搜索引擎交互過程中,可以通過用戶主動發(fā)起搜索請求,或者是由接口CGI定期調(diào)用實時索引系統(tǒng)生成搜索請求。在定期調(diào)用實時索引系統(tǒng)生成搜索請求的示例中,如果實時索引系統(tǒng)有新數(shù)據(jù),可以通知用戶結(jié)果有新結(jié)果,且告知新結(jié)果數(shù)。可選地,用戶主動發(fā)起的搜索請求的場景,在得到搜索結(jié)果之后,返回給用戶召回結(jié)果數(shù)以及結(jié)果詳情。另一種可選地,當(dāng)用戶停留在搜索結(jié)果頁,接口CGI會定期發(fā)起同樣的搜索請求,實時搜索系統(tǒng)判斷搜索結(jié)果是否有變化,如果有新的搜索結(jié)果,則可以在頁面上提示用戶。如圖6所示,為了完成基于緩存的高性能實時索引系統(tǒng),可以確定索引格式、cache機(jī)制以及實時檢索方案和增量結(jié)果數(shù)檢索方案。圖6所示的示例中,包括索引流程和檢索流程。其中,索引流程負(fù)責(zé)對更新的數(shù)據(jù)建立實時索引;檢索流程,負(fù)責(zé)接收檢索請求,讀取實時索引和結(jié)果cache數(shù)據(jù),并進(jìn)行相關(guān)性計算和回寫結(jié)果cache(即返回搜索結(jié)果)。在該實施例中,可以預(yù)先設(shè)置索引結(jié)構(gòu),設(shè)置倒排索引按照文檔ID有序排列。其中,文檔ID(即文檔標(biāo)識)是根據(jù)文檔的更新時序遞增,也即按照文檔被錄入系統(tǒng)的時間順序遞增。越新的文檔(即越晚錄入系統(tǒng)的文檔),對應(yīng)的文檔標(biāo)識ID的值越大,這樣新文檔的ID追加在倒排索引表的尾部。如圖7所示,倒排索引表中記錄的語素與文檔的索引關(guān)系中,尾部的都是新追加的文檔,文檔的標(biāo)識也比較大。可選地,預(yù)先設(shè)置緩存cache結(jié)構(gòu),這里的cache是搜索結(jié)果cache(即上述的歷史搜索結(jié)果),以及與cache相關(guān)的一些元信息。其中,搜索結(jié)果cache是文檔ID集合(與上述的文檔信息集合相對應(yīng)),可選地,該方案可以包括相關(guān)性權(quán)重信息,優(yōu)選地,搜索結(jié)果cache不包括相關(guān)性權(quán)重信息。優(yōu)選地,相關(guān)性權(quán)重可以每次檢索時結(jié)合時新性因子重新計算的,通過該種處理方式可以保證兩次檢索結(jié)果的相關(guān)性權(quán)重信息的可比性,同時也充分考慮了時新性對排序的效果的影響??蛇x地,cache相關(guān)的元信息包括搜索query(即搜索請求)、語素(如對搜索請求中的搜索關(guān)鍵字進(jìn)行拆分得到的最小粒度的元素)、生成cache時每個語素的倒排尾部位置以及尾部文檔ID,即最大文檔ID。進(jìn)一步可選地,在檢索時讀取cache搜索結(jié)果的同時,可以讀取元信息,利用該元信息判斷是否存在增量索引數(shù)據(jù)。如圖8所示,在一個可選的實施例中可以通過下述步驟實現(xiàn):步驟S801:在接收到檢索請求時,查詢緩存元信息??蛇x地,在接收到檢索請求時,先通過搜索請求query生成關(guān)鍵字key,并利用該query和/或key去搜索cache元信息。步驟S802:根據(jù)cache元信息判斷是否有新增數(shù)據(jù)。若是,則執(zhí)行步驟S803;若否,則執(zhí)行步驟S804??蛇x地,根據(jù)cache元信息,結(jié)合當(dāng)前索引表元信息,判斷是否有新增數(shù)據(jù)(即上述的增量數(shù)據(jù))。具體地,搜索cache元信息中每個語素的最大文檔ID,并搜索索引表的最大文檔ID,如果不一致,則確定在生成歷史搜索結(jié)果cache后,系統(tǒng)中新增的文檔中包含該語素??蛇x地,只要query中任一語素的倒排發(fā)生了更新,都需要計算新增倒排。步驟S803:計算增量搜索結(jié)果??蛇x地,如果有新增倒排,則從cache生成時記錄的倒排位置開始進(jìn)行倒排求交,計算增量搜索結(jié)果。步驟S805:對歷史搜索集合和增量搜索結(jié)果進(jìn)行重排,得到最終結(jié)果。可選地,對增量結(jié)果ID和cache中的結(jié)果ID的并集計算相關(guān)性,并完成整體排序,得到排序權(quán)重最高的定量結(jié)果文檔ID集合。步驟S806:更新歷史搜索結(jié)果和元信息。可選地,將結(jié)果文檔ID集合及元信息的更新,包括最新cache時每個語素的倒排尾部位置以及尾部文檔ID重新寫入cache,并返回結(jié)果給用戶。步驟S804:對cache結(jié)果進(jìn)行相關(guān)性計算并返回給用戶??蛇x地,如果沒有新增倒排,則直接對cache結(jié)果進(jìn)行相關(guān)性計算并返回給用戶。進(jìn)一步可選地,對于不需要詳細(xì)結(jié)果的請求,如僅提示用戶結(jié)果發(fā)生了變更,則需要走結(jié)果數(shù)更新流程。結(jié)果數(shù)更新流程不需要步驟S805的檢索流程中的整體排序的環(huán)節(jié),在該實施例中,處理非常輕量,在數(shù)據(jù)增量不多的情況下,幾乎不占用計算資源。通過設(shè)置高效的cache方案,來進(jìn)行實時索引和檢索,在工程層面能極大提高實時檢索系統(tǒng)的吞吐量,有效降低訪問延遲,提高資源利用效率;在產(chǎn)品層面,可以更實時的通知用戶檢索結(jié)果的變化情況。需要說明的是,該方案不僅可以用于普通的搜索場景,還可以應(yīng)用于推薦等場景。在方案優(yōu)化方面,對于時效性影響最大的業(yè)務(wù),可以考慮對cache結(jié)果不進(jìn)行相關(guān)性計算,從而進(jìn)一步提高系統(tǒng)計算效率。需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機(jī),計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。根據(jù)本發(fā)明實施例,還提供了一種用于實施上述搜索方法的裝置。圖9是根據(jù)本發(fā)明實施例的一種可選的搜索裝置的示意圖,如圖9所示,該裝置可以包括:獲取單元91,用于在接收到搜索請求之后,獲取搜索請求的歷史搜索結(jié)果;檢測單元93,根據(jù)歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù),其中,增量數(shù)據(jù)用于表示新增數(shù)據(jù)中與查詢請求具有索引關(guān)系的數(shù)據(jù),新增數(shù)據(jù)為在生成歷史搜索結(jié)果之后增加入系統(tǒng)中的數(shù)據(jù);第一確定單元95,在檢測出存在增量數(shù)據(jù)的情況下,用于確定增量數(shù)據(jù)對應(yīng)的增量搜索結(jié)果;第二確定單元97,用于至少基于增量搜索結(jié)果,確定搜索請求的搜索結(jié)果。根據(jù)本申請的上述實施例,裝置還可以包括如圖10所示的:第三確定單元1001,用于在根據(jù)歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù)之后,在檢測出不存在增量數(shù)據(jù)的情況下,基于歷史搜索結(jié)果確定搜索請求的搜索結(jié)果。可選地,第二確定單元可以包括:匯總單元,用于匯總歷史搜索結(jié)果和增量搜索結(jié)果,得到搜索請求的搜索結(jié)果。另一種可選的,匯總單元包括下述至少之一:排序單元,用于對歷史搜索結(jié)果和增量搜索結(jié)果進(jìn)行排序,得到搜索請求對應(yīng)的文檔信息集合,其中,搜索結(jié)果包括文檔信息集合;統(tǒng)計單元,用于統(tǒng)計歷史搜索結(jié)果和增量搜索結(jié)果所包含的文檔數(shù)量,其中,搜索結(jié)果包括文檔數(shù)量。在一個可選的實施例中,排序單元可以包括:第一獲取子單元,用于獲取歷史搜索結(jié)果和增量搜索結(jié)果中所包含的所有文檔的標(biāo)識;計算子單元,用于對基于文檔的標(biāo)識計算各個文檔與搜索請求的相關(guān)度;排序子單元,用于按照計算得到的相關(guān)度對文檔進(jìn)行排序,得到搜索結(jié)果。根據(jù)上述實施例,裝置還可以包括如圖10所示的:第四確定單元1003,用于在獲取搜索請求的歷史搜索結(jié)果之前,在檢測到終端發(fā)送的搜索請求的情況下,確定接收到搜索請求;第五確定單元1005,用于在檢測到網(wǎng)關(guān)接口發(fā)起的搜索請求的情況下,確定接收到搜索請求,其中,網(wǎng)關(guān)接口在檢測到終端展示搜索結(jié)果的時間超長預(yù)定時長的情況下,發(fā)起搜索請求。另一種可選地,第二確定單元可以包括:第一確定子單元,用于確定增量搜索結(jié)果中包含的文檔數(shù)量,得到增量結(jié)果數(shù);第二確定子單元,用于將增量結(jié)果數(shù)確定為搜索請求的搜索結(jié)果。另一種可選地,檢測單元可以包括:第二獲取子單元,用于獲取歷史搜索結(jié)果的元信息,其中,元信息中記錄有生成歷史搜索結(jié)果時倒排索引表的歷史信息,倒排索引表中的每一項用于記錄搜索請求中一個語素與文檔的索引關(guān)系;第三確定子單元,用于基于倒排索引表的歷史信息和倒排索引表的當(dāng)前信息確定系統(tǒng)中是否存在增量數(shù)據(jù)。進(jìn)一步地,倒排索引表的歷史信息包括各個語素的歷史最大文檔標(biāo)識,倒排索引表的當(dāng)前信息包括各個語素的當(dāng)前最大文檔標(biāo)識,文檔標(biāo)識按照文檔的更新時序遞增,其中,第三確定子單元包括:檢測子單元,用于檢測各個語素的歷史最大文檔標(biāo)識是否與當(dāng)前最大文檔標(biāo)識一致;第四確定子單元,用于若檢測出至少一個語素的歷史最大文檔標(biāo)識與當(dāng)前最大文檔標(biāo)識不一致,則確定系統(tǒng)中存在增量數(shù)據(jù)。需要進(jìn)一步說明的是,裝置還可以包括:更新單元,用于在確定搜索請求的搜索結(jié)果之后,利用搜索請求的搜索結(jié)果,更新搜索請求的歷史搜索結(jié)果。此處需要說明的是,上述模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在如圖2所示的硬件環(huán)境中,可以通過軟件實現(xiàn),也可以通過硬件實現(xiàn)。根據(jù)本發(fā)明實施例,還提供了一種用于實施上述搜索方法的服務(wù)器或終端。圖11是根據(jù)本發(fā)明實施例的一種終端的結(jié)構(gòu)框圖,如圖11所示,該終端可以包括:一個或多個(圖中僅示出一個)處理器1101、存儲器1103、以及傳輸裝置1105(如上述實施例中的發(fā)送裝置),如圖11所示,該終端還可以包括輸入輸出設(shè)備1107。其中,存儲器1103可用于存儲軟件程序以及模塊,如本發(fā)明實施例中的搜索方法和裝置對應(yīng)的程序指令/模塊,處理器1101通過運行存儲在存儲器1103內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實現(xiàn)上述的搜索方法。存儲器1103可包括高速隨機(jī)存儲器,還可以包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器1103可進(jìn)一步包括相對于處理器1101遠(yuǎn)程設(shè)置的存儲器,這些遠(yuǎn)程存儲器可以通過網(wǎng)絡(luò)連接至終端。上述網(wǎng)絡(luò)的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。上述的傳輸裝置1105用于經(jīng)由一個網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù),還可以用于處理器與存儲器之間的數(shù)據(jù)傳輸。上述的網(wǎng)絡(luò)具體實例可包括有線網(wǎng)絡(luò)及無線網(wǎng)絡(luò)。在一個實例中,傳輸裝置1105包括一個網(wǎng)絡(luò)適配器(NetworkInterfaceController,NIC),其可通過網(wǎng)線與其他網(wǎng)絡(luò)設(shè)備與路由器相連從而可與互聯(lián)網(wǎng)或局域網(wǎng)進(jìn)行通訊。在一個實例中,傳輸裝置1105為射頻(RadioFrequency,RF)模塊,其用于通過無線方式與互聯(lián)網(wǎng)進(jìn)行通訊。其中,具體地,存儲器1103用于存儲應(yīng)用程序。處理器1101可以通過傳輸裝置1105調(diào)用存儲器1103存儲的應(yīng)用程序,以執(zhí)行下述步驟:在接收到搜索請求之后,獲取搜索請求的歷史搜索結(jié)果;根據(jù)歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù),其中,增量數(shù)據(jù)用于表示新增數(shù)據(jù)中與查詢請求具有索引關(guān)系的數(shù)據(jù),新增數(shù)據(jù)為在生成歷史搜索結(jié)果之后增加入系統(tǒng)中的數(shù)據(jù);在檢測出存在增量數(shù)據(jù)的情況下,確定增量數(shù)據(jù)對應(yīng)的增量搜索結(jié)果;至少基于增量搜索結(jié)果,確定搜索請求的搜索結(jié)果。處理器1101還用于執(zhí)行下述步驟:在根據(jù)歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù)之后,在檢測出不存在增量數(shù)據(jù)的情況下,基于歷史搜索結(jié)果確定搜索請求的搜索結(jié)果。處理器1101還用于執(zhí)行下述步驟,匯總歷史搜索結(jié)果和增量搜索結(jié)果,得到搜索請求的搜索結(jié)果,以至少基于增量搜索結(jié)果,確定搜索請求的搜索結(jié)果。處理器1101還用于執(zhí)行下述步驟:對歷史搜索結(jié)果和增量搜索結(jié)果進(jìn)行排序,得到搜索請求對應(yīng)的文檔信息集合,其中,搜索結(jié)果包括文檔信息集合;和/或統(tǒng)計歷史搜索結(jié)果和增量搜索結(jié)果所包含的文檔數(shù)量,其中,搜索結(jié)果包括文檔數(shù)量,以匯總歷史搜索結(jié)果和增量搜索結(jié)果,得到搜索請求的搜索結(jié)果。處理器1101還用于執(zhí)行下述步驟:獲取歷史搜索結(jié)果和增量搜索結(jié)果中所包含的所有文檔的標(biāo)識;基于文檔的標(biāo)識計算各個文檔與搜索請求的相關(guān)度;按照計算得到的相關(guān)度對文檔進(jìn)行排序,得到搜索結(jié)果,以對歷史搜索結(jié)果和增量搜索結(jié)果進(jìn)行排序,得到搜索請求的搜索結(jié)果括。處理器1101還用于執(zhí)行下述步驟:在獲取搜索請求的歷史搜索結(jié)果之前,在檢測到終端發(fā)送的搜索請求的情況下,則確定接收到搜索請求;在檢測到網(wǎng)關(guān)接口發(fā)起的搜索請求的情況下,則確定接收到搜索請求,其中,網(wǎng)關(guān)接口在檢測到終端展示搜索結(jié)果的時間超長預(yù)定時長的情況下,發(fā)起搜索請求。處理器1101還用于執(zhí)行下述步驟:確定增量搜索結(jié)果中包含的文檔數(shù)量,得到增量結(jié)果數(shù);將增量結(jié)果數(shù)確定為搜索請求的搜索結(jié)果,至少基于增量搜索結(jié)果,確定搜索請求的搜索結(jié)果。處理器1101還用于執(zhí)行下述步驟:獲取歷史搜索結(jié)果的元信息,其中,元信息中記錄有生成歷史搜索結(jié)果時倒排索引表的歷史信息,倒排索引表中的每一項用于記錄搜索請求中一個語素與文檔的索引關(guān)系;基于倒排索引表的歷史信息和倒排索引表的當(dāng)前信息確定系統(tǒng)中是否存在增量數(shù)據(jù),以根據(jù)歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù)??蛇x地,倒排索引表的歷史信息包括各個語素的歷史最大文檔標(biāo)識,倒排索引表的當(dāng)前信息包括各個語素的當(dāng)前最大文檔標(biāo)識,文檔標(biāo)識按照文檔的更新時序遞增。處理器1101還用于執(zhí)行下述步驟:檢測各個語素的歷史最大文檔標(biāo)識是否與當(dāng)前最大文檔標(biāo)識一致;若檢測出至少一個語素的歷史最大文檔標(biāo)識與當(dāng)前最大文檔標(biāo)識不一致,則確定系統(tǒng)中存在增量數(shù)據(jù),以基于倒排索引表的歷史信息和倒排索引表的當(dāng)前信息確定系統(tǒng)中是否存在增量數(shù)據(jù)。處理器1101還用于執(zhí)行下述步驟:在確定搜索請求的搜索結(jié)果之后,利用搜索請求的搜索結(jié)果,更新搜索請求的歷史搜索結(jié)果??蛇x地,本實施例中的具體示例可以參考上述實施例中所描述的示例,本實施例在此不再贅述。本領(lǐng)域普通技術(shù)人員可以理解,圖11所示的結(jié)構(gòu)僅為示意,終端可以是智能手機(jī)(如Android手機(jī)、iOS手機(jī)等)、平板電腦、掌上電腦以及移動互聯(lián)網(wǎng)設(shè)備(MobileInternetDevices,MID)、PAD等終端設(shè)備。圖11其并不對上述電子裝置的結(jié)構(gòu)造成限定。例如,終端還可包括比圖11中所示更多或者更少的組件(如網(wǎng)絡(luò)接口、顯示裝置等),或者具有與圖11所示不同的配置。本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令終端設(shè)備相關(guān)的硬件來完成,該程序可以存儲于一計算機(jī)可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:閃存盤、只讀存儲器(Read-OnlyMemory,ROM)、隨機(jī)存取器(RandomAccessMemory,RAM)、磁盤或光盤等。本發(fā)明的實施例還提供了一種存儲介質(zhì)。可選地,在本實施例中,上述存儲介質(zhì)可以用于執(zhí)行搜索方法的程序代碼??蛇x地,在本實施例中,上述存儲介質(zhì)可以位于上述實施例所示的網(wǎng)絡(luò)中的多個網(wǎng)絡(luò)設(shè)備中的至少一個網(wǎng)絡(luò)設(shè)備上??蛇x地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:在接收到搜索請求之后,獲取搜索請求的歷史搜索結(jié)果;根據(jù)歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù),其中,增量數(shù)據(jù)用于表示新增數(shù)據(jù)中與查詢請求具有索引關(guān)系的數(shù)據(jù),新增數(shù)據(jù)為在生成歷史搜索結(jié)果之后增加入系統(tǒng)中的數(shù)據(jù);在檢測出存在增量數(shù)據(jù)的情況下,確定增量數(shù)據(jù)對應(yīng)的增量搜索結(jié)果;至少基于增量搜索結(jié)果,確定搜索請求的搜索結(jié)果??蛇x地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:在根據(jù)歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù)之后,在檢測出不存在增量數(shù)據(jù)的情況下,基于歷史搜索結(jié)果確定搜索請求的搜索結(jié)果。可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:匯總歷史搜索結(jié)果和增量搜索結(jié)果,得到搜索請求的搜索結(jié)果,以至少基于增量搜索結(jié)果,確定搜索請求的搜索結(jié)果??蛇x地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:對歷史搜索結(jié)果和增量搜索結(jié)果進(jìn)行排序,得到搜索請求對應(yīng)的文檔信息集合,其中,搜索結(jié)果包括文檔信息集合;和/或統(tǒng)計歷史搜索結(jié)果和增量搜索結(jié)果所包含的文檔數(shù)量,其中,搜索結(jié)果包括文檔數(shù)量,以匯總歷史搜索結(jié)果和增量搜索結(jié)果,得到搜索請求的搜索結(jié)果??蛇x地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:獲取歷史搜索結(jié)果和增量搜索結(jié)果中所包含的所有文檔的標(biāo)識;基于文檔的標(biāo)識計算各個文檔與搜索請求的相關(guān)度;按照計算得到的相關(guān)度對文檔進(jìn)行排序,得到搜索結(jié)果,以對歷史搜索結(jié)果和增量搜索結(jié)果進(jìn)行排序,得到搜索請求的搜索結(jié)果括??蛇x地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:在獲取搜索請求的歷史搜索結(jié)果之前,在檢測到終端發(fā)送的搜索請求的情況下,則確定接收到搜索請求;在檢測到網(wǎng)關(guān)接口發(fā)起的搜索請求的情況下,則確定接收到搜索請求,其中,網(wǎng)關(guān)接口在檢測到終端展示搜索結(jié)果的時間超長預(yù)定時長的情況下,發(fā)起搜索請求??蛇x地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:確定增量搜索結(jié)果中包含的文檔數(shù)量,得到增量結(jié)果數(shù);將增量結(jié)果數(shù)確定為搜索請求的搜索結(jié)果,至少基于增量搜索結(jié)果,確定搜索請求的搜索結(jié)果??蛇x地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:獲取歷史搜索結(jié)果的元信息,其中,元信息中記錄有生成歷史搜索結(jié)果時倒排索引表的歷史信息,倒排索引表中的每一項用于記錄搜索請求中一個語素與文檔的索引關(guān)系;基于倒排索引表的歷史信息和倒排索引表的當(dāng)前信息確定系統(tǒng)中是否存在增量數(shù)據(jù),以根據(jù)歷史搜索結(jié)果檢測系統(tǒng)中是否存在增量數(shù)據(jù)??蛇x地,倒排索引表的歷史信息包括各個語素的歷史最大文檔標(biāo)識,倒排索引表的當(dāng)前信息包括各個語素的當(dāng)前最大文檔標(biāo)識,文檔標(biāo)識按照文檔的更新時序遞增??蛇x地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:檢測各個語素的歷史最大文檔標(biāo)識是否與當(dāng)前最大文檔標(biāo)識一致;若檢測出至少一個語素的歷史最大文檔標(biāo)識與當(dāng)前最大文檔標(biāo)識不一致,則確定系統(tǒng)中存在增量數(shù)據(jù),以基于倒排索引表的歷史信息和倒排索引表的當(dāng)前信息確定系統(tǒng)中是否存在增量數(shù)據(jù)??蛇x地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:在確定搜索請求的搜索結(jié)果之后,利用搜索請求的搜索結(jié)果,更新搜索請求的歷史搜索結(jié)果??蛇x地,本實施例中的具體示例可以參考上述實施例中所描述的示例,本實施例在此不再贅述??蛇x地,在本實施例中,上述存儲介質(zhì)可以包括但不限于:U盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲器(RAM,RandomAccessMemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。上述實施例中的集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在上述計算機(jī)可讀取的存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在存儲介質(zhì)中,包括若干指令用以使得一臺或多臺計算機(jī)設(shè)備(可為個人計算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。在本發(fā)明的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的客戶端,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。當(dāng)前第1頁1 2 3