搜索方法、客戶端和服務(wù)器的制造方法
【專利摘要】本發(fā)明提出一種搜索方法、客戶端和服務(wù)器,可應(yīng)用于計(jì)算機(jī)【技術(shù)領(lǐng)域】。其中,該搜索方法包括:收集信息,向服務(wù)器發(fā)送信息或信息的預(yù)處理結(jié)果,以便服務(wù)器根據(jù)信息或預(yù)處理結(jié)果生成預(yù)測查詢詞;接收服務(wù)器返回的預(yù)測查詢詞和根據(jù)預(yù)測查詢詞返回的搜索結(jié)果;對搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示;以及獲得用戶輸入的查詢詞,并在確定查詢詞與預(yù)測查詢詞一致時(shí),對預(yù)渲染后的搜索結(jié)果進(jìn)行顯示。本發(fā)明通過將收集到的信息發(fā)送給服務(wù)器,由服務(wù)器生成預(yù)測查詢詞并返回搜索結(jié)果,客戶端對這些搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示,并在預(yù)測查詢詞命中查詢詞時(shí),瞬時(shí)顯示預(yù)渲染后的搜索結(jié)果,從而提升服務(wù)器側(cè)的響應(yīng)速度,降低用戶等待時(shí)間,并且對用戶搜索習(xí)慣沒有影響。
【專利說明】搜索方法、客戶端和服務(wù)器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,尤其涉及一種搜索方法、客戶端和服務(wù)器。
【背景技術(shù)】
[0002]目前,大部分的搜索引擎例如必應(yīng)(bing)、搜狗、360搜索引擎只有在用戶實(shí)際發(fā)起搜索請求時(shí),才會(huì)觸發(fā)對服務(wù)器的搜索請求,并根據(jù)服務(wù)器返回的搜索結(jié)果進(jìn)行頁面渲染。
[0003]在傳統(tǒng)的交互方式下,用戶需要手動(dòng)觸發(fā)搜索請求,例如點(diǎn)擊回車、點(diǎn)擊搜索按鍵、點(diǎn)擊搜索提示、點(diǎn)擊相關(guān)搜索等,其等待時(shí)間取決于網(wǎng)絡(luò)延時(shí)、服務(wù)器端的計(jì)算時(shí)間和瀏覽器渲染頁面時(shí)間的總和,等待時(shí)間較長。
[0004]部分搜索引擎比如谷歌(Google)采用了即時(shí)搜索(instant search)的技術(shù),可以在用戶輸入查詢詞(query)的過程中,根據(jù)當(dāng)前輸入實(shí)時(shí)地發(fā)起對服務(wù)器端的搜索請求,接收服務(wù)器返回的搜索結(jié)果并展示。
[0005]雖然即時(shí)搜索會(huì)減少用戶的等待時(shí)間,但它會(huì)打斷用戶的輸入過程,破壞用戶的搜索習(xí)慣,降低用戶的體驗(yàn)度。此外,對于搜索框外觸發(fā)的搜索行為,比如點(diǎn)擊相關(guān)搜索等,無法進(jìn)行即時(shí)搜索。
[0006]另外,部分搜索引擎采用基于客戶端的預(yù)測和觸發(fā)機(jī)制,客戶端預(yù)測后就將預(yù)測查詢詞發(fā)送給服務(wù)器,由服務(wù)器進(jìn)行搜索,但該方法所采用的預(yù)測算法局限性大,對服務(wù)器端的搜索引擎產(chǎn)生成倍的搜索壓力,代價(jià)高,擴(kuò)展性差。
【發(fā)明內(nèi)容】
[0007]本發(fā)明旨在至少解決上述技術(shù)問題之一。
[0008]為此,本發(fā)明的第一個(gè)目的在于提出一種搜索方法。該方法可以有效地提升服務(wù)器側(cè)搜索引擎的響應(yīng)速度,降低用戶等待時(shí)間,并且對用戶搜索習(xí)慣沒有影響,進(jìn)而提升了用戶的體驗(yàn)度和滿意度。
[0009]本發(fā)明的第二個(gè)目的在于還提出一種搜索方法。
[0010]本發(fā)明的第三個(gè)目的在于還提出一種客戶端。
[0011]本發(fā)明的第四個(gè)目的在于還提出一種服務(wù)器。
[0012]為了實(shí)現(xiàn)上述目的,本發(fā)明第一方面實(shí)施例的搜索方法,該方法從客戶端側(cè)進(jìn)行描述,包括以下步驟:
[0013]收集信息,向服務(wù)器發(fā)送信息或信息的預(yù)處理結(jié)果,以便服務(wù)器根據(jù)信息或預(yù)處理結(jié)果生成預(yù)測查詢詞;
[0014]接收服務(wù)器返回的預(yù)測查詢詞和根據(jù)預(yù)測查詢詞返回的搜索結(jié)果;
[0015]對搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示;以及
[0016]獲得用戶輸入的查詢詞,并在確定查詢詞與預(yù)測查詢詞一致時(shí),對預(yù)渲染后的搜索結(jié)果進(jìn)行顯示。[0017]為了實(shí)現(xiàn)上述目的,本發(fā)明第二方面實(shí)施例的搜索方法,該方法從服務(wù)器側(cè)進(jìn)行描述,包括:
[0018]接收客戶端發(fā)送的信息或信息的預(yù)處理結(jié)果,根據(jù)信息或預(yù)處理結(jié)果生成預(yù)測查詢詞;以及
[0019]根據(jù)預(yù)測查詢詞獲得搜索結(jié)果,向客戶端返回搜索結(jié)果和預(yù)測查詢詞,以便客戶端對搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示,并在確定用戶輸入的查詢詞和預(yù)測查詢詞一致時(shí),對預(yù)渲染后的搜索結(jié)果進(jìn)行顯示。
[0020]本發(fā)明實(shí)施例的搜索方法,由客戶端與服務(wù)器互相配合,通過客戶端將收集的信息或信息的預(yù)處理結(jié)果發(fā)送給服務(wù)器,由服務(wù)器根據(jù)這些信息或信息的預(yù)處理結(jié)果生成預(yù)測查詢詞,并根據(jù)預(yù)測查詢詞進(jìn)行搜索后向客戶端返回搜索結(jié)果,客戶端對這些搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示,待服務(wù)器生成的預(yù)測查詢詞命中用戶實(shí)際輸入的查詢詞時(shí),可以瞬時(shí)顯示預(yù)渲染后的搜索結(jié)果,從而有效地提升服務(wù)器側(cè)搜索引擎的響應(yīng)速度,降低用戶等待時(shí)間,并且對用戶搜索習(xí)慣沒有影響,進(jìn)而提升了用戶的體驗(yàn)度和滿意度。
[0021]為了實(shí)現(xiàn)上述目的,本發(fā)明第三方面實(shí)施例的客戶端,包括:
[0022]收集發(fā)送模塊,用于收集信息,向服務(wù)器發(fā)送信息或信息的預(yù)處理結(jié)果,以便服務(wù)器根據(jù)信息或預(yù)處理結(jié)果生成預(yù)測查詢詞;
[0023]接收模塊,用于接收服務(wù)器返回的預(yù)測查詢詞和根據(jù)預(yù)測查詢詞返回的搜索結(jié)果;
[0024]預(yù)渲染模塊,用于對搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示;以及
[0025]顯示模塊,用于獲得用戶輸入的查詢詞,并在確定查詢詞與預(yù)測查詢詞一致時(shí),對預(yù)渲染后的搜索結(jié)果進(jìn)行顯示。
[0026]上述客戶端,通過收集發(fā)送模塊將收集的信息或信息的預(yù)處理結(jié)果發(fā)送給服務(wù)器,由服務(wù)器根據(jù)這些信息或信息的預(yù)處理結(jié)果生成預(yù)測查詢詞,并根據(jù)預(yù)測查詢詞進(jìn)行搜索后向客戶端返回搜索結(jié)果,客戶端通過預(yù)渲染模塊對這些搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示,待服務(wù)器生成的預(yù)測查詢詞命中用戶實(shí)際輸入的查詢詞時(shí),可以瞬時(shí)顯示預(yù)渲染后的搜索結(jié)果,從而有效地提升服務(wù)器側(cè)搜索引擎的響應(yīng)速度,降低用戶等待時(shí)間,并且對用戶搜索習(xí)慣沒有影響,進(jìn)而提升了用戶的體驗(yàn)度和滿意度。
[0027]為了實(shí)現(xiàn)上述目的,本發(fā)明第四方面實(shí)施例的服務(wù)器,包括:
[0028]接收生成模塊,用于接收客戶端發(fā)送的信息或信息的預(yù)處理結(jié)果,根據(jù)信息或預(yù)處理結(jié)果生成預(yù)測查詢詞;以及
[0029]搜索模塊,用于根據(jù)接收生成模塊生成的預(yù)測查詢詞獲得搜索結(jié)果,向客戶端返回搜索結(jié)果和預(yù)測查詢詞,以便客戶端對搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示,并在確定用戶輸入的查詢詞和預(yù)測查詢詞一致時(shí),對預(yù)渲染后的搜索結(jié)果進(jìn)行顯示。
[0030]上述服務(wù)器,通過接收生成模塊接收客戶端發(fā)送的信息或信息的預(yù)處理結(jié)果,根據(jù)這些信息或信息的預(yù)處理結(jié)果生成預(yù)測查詢詞,并使用搜索模塊根據(jù)預(yù)測查詢詞進(jìn)行搜索后向客戶端返回搜索結(jié)果,以便客戶端對這些搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示,待服務(wù)器生成的預(yù)測查詢詞命中用戶實(shí)際輸入的查詢詞時(shí),可以瞬時(shí)顯示預(yù)渲染后的搜索結(jié)果,從而有效地提升服務(wù)器側(cè)搜索引擎的響應(yīng)速度,降低用戶等待時(shí)間,并且對用戶搜索習(xí)慣沒有影響,進(jìn)而提升了用戶的體驗(yàn)度和滿意度。[0031]本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
【專利附圖】
【附圖說明】
[0032]本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對實(shí)施例的描述中將變得明顯和容易理解,其中,
[0033]圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的搜索方法的流程圖;
[0034]圖2是根據(jù)本發(fā)明另一個(gè)實(shí)施例的搜索方法的流程圖;
[0035]圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的搜索方法的信令流程圖;
[0036]圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的客戶端的結(jié)構(gòu)示意圖;
[0037]圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的服務(wù)器的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0038]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。相反,本發(fā)明的實(shí)施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。
[0039]在本發(fā)明的描述中,需要理解的是,術(shù)語“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對重要性。在本發(fā)明的描述中,需要說明的是,除非另有明確的規(guī)定和限定,術(shù)語“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連。對于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本發(fā)明中的具體含義。此外,在本發(fā)明的描述中,除非另有說明,“多個(gè)”的含義是兩個(gè)或兩個(gè)以上。
[0040]流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬【技術(shù)領(lǐng)域】的技術(shù)人員所理解。
[0041]下面結(jié)合說明書附圖詳細(xì)說明本發(fā)明實(shí)施例的搜索方法、客戶端和服務(wù)器。
[0042]為了解決現(xiàn)有技術(shù)中用戶發(fā)起搜索后等待時(shí)間長的問題,本發(fā)明提出一種搜索方法。
[0043]圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的搜索方法的流程圖。如圖1所示,該搜索方法是從客戶端側(cè)進(jìn)行描述的,該方法包括以下步驟:
[0044]S101,收集信息,向服務(wù)器發(fā)送上述信息或上述信息的預(yù)處理結(jié)果,以便上述服務(wù)器根據(jù)上述信息或上述預(yù)處理結(jié)果生成預(yù)測查詢詞。
[0045]客戶端收集信息,并做初步的判斷,然后將相關(guān)信息發(fā)送給服務(wù)器端的搜索引擎。上述客戶端可以為搜索頁面、瀏覽器、工具條、移動(dòng)APP等客戶端。上述客戶端可以位于計(jì)算機(jī)上,也可以位于移動(dòng)終端例如手機(jī)上。[0046]客戶端收集的信息主要包含兩部分:用戶的行為信息和頁面信息,其中:
[0047]I)用戶的行為信息指的是當(dāng)前用戶在本次搜索過程中一系列的相關(guān)動(dòng)作,包括但不限于用戶輸入的查詢詞、用戶鼠標(biāo)軌跡和區(qū)域、輸入停頓時(shí)間、特殊按鍵(如上下方向鍵、鼠標(biāo)下拉鍵)和輸入速度等。
[0048]2)頁面信息指的是當(dāng)前搜索頁面上的相關(guān)元素,包括但不限于搜索提示是否出現(xiàn)、搜索提示的內(nèi)容、糾錯(cuò)是否出現(xiàn)、糾錯(cuò)的內(nèi)容、相關(guān)搜索內(nèi)容、頁面窗口區(qū)域(即當(dāng)前瀏覽器展現(xiàn)的是頁面的哪一區(qū)域)、頁面焦點(diǎn)等。
[0049]上述客戶端可以定期收集這些信息然后向服務(wù)器發(fā)送,也可以根據(jù)特定事件例如鍵盤敲擊、鼠標(biāo)移動(dòng)等事件觸發(fā)式地收集和發(fā)送。為了優(yōu)化和服務(wù)器傳輸?shù)男?,客戶端在?shù)據(jù)收集的同時(shí)也可以做一些預(yù)處理工作,即客戶端可以只在特定的條件下才發(fā)送信息,也可以在發(fā)送信息時(shí)丟棄一些不重要的信息,還可以對信息進(jìn)行合并或者初步推斷出一個(gè)或多個(gè)查詢詞等供服務(wù)器參考。
[0050]由于客戶端的信息有限,計(jì)算能力差,因此預(yù)測的方式也非常有限。本實(shí)施例中,為了借助服務(wù)器的大計(jì)算能力,將收集到的信息或進(jìn)行預(yù)處理后的信息發(fā)送給服務(wù)器,由于服務(wù)器擁有更豐富的用戶行為和語料信息,以及更強(qiáng)勁的計(jì)算能力,因此可以實(shí)現(xiàn)更復(fù)雜的預(yù)測方法,進(jìn)一步提高預(yù)測準(zhǔn)確率,從而減少用戶等待概率。
[0051]S102,接收服務(wù)器返回的預(yù)測查詢詞和根據(jù)上述預(yù)測查詢詞返回的搜索結(jié)果。
[0052]服務(wù)器端的搜索引擎獲取到客戶端發(fā)送的信息或這些信息的預(yù)處理結(jié)果后,通過規(guī)則和大數(shù)據(jù)計(jì)算能力生成一個(gè)或多個(gè)預(yù)測查詢詞,在搜索壓力控制下進(jìn)行搜索,并將搜索結(jié)果和生成的預(yù)測查詢詞提前返回給客戶端,客戶端接收返回的搜索結(jié)果和預(yù)測查詢
o
[0053]由于上述服務(wù)器是在搜索壓力的控制下進(jìn)行搜索的,因此可以一次性返回多個(gè)預(yù)搜索結(jié)果,也可以不進(jìn)行任何預(yù)搜索。
[0054]S103,對上述搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示。
[0055]當(dāng)客戶端獲取服務(wù)器返回的搜索結(jié)果后,可以提前進(jìn)行頁面的渲染。該渲染過程和新的搜索結(jié)果中的搜索結(jié)果頁都對用戶隱藏,因此不會(huì)影響用戶的當(dāng)前行為。
[0056]搜索結(jié)果頁中包含非常復(fù)雜的元素,比如用來表現(xiàn)超文本標(biāo)記語言(HTML)或可擴(kuò)展標(biāo)記語言(XML)等文件樣式的計(jì)算機(jī)語言css、腳本語言js、html5、flash、表單、圖片、視頻等等,有些元素會(huì)隨著搜索結(jié)果一起返回,有些元素例如圖片則是在頁面渲染過程中才進(jìn)行請求和下載??紤]到用戶終端的計(jì)算性能和網(wǎng)絡(luò)性能,頁面渲染對用戶的等待時(shí)間會(huì)有很大影響,通過本實(shí)施例的客戶端預(yù)渲染方案,能夠提前、隱式地生成完整的搜索結(jié)果頁面,從而更進(jìn)一步地縮小用戶的等待時(shí)間。
[0057]其中,上述預(yù)渲染方案可以基于和瀏覽器無關(guān)的頁面技術(shù),包括但不限于框架(iframe)、網(wǎng)路套接字(web socket)、一種網(wǎng)頁推送技術(shù)例如comet等,也可以在特定瀏覽器技術(shù)配合下完成。
[0058]S104,獲得用戶輸入的查詢詞,并在確定查詢詞與預(yù)測查詢詞一致時(shí),對預(yù)渲染后的搜索結(jié)果進(jìn)行顯示。
[0059]當(dāng)用戶最終發(fā)起搜索請求后, 比如點(diǎn)擊回車、點(diǎn)擊搜索按鈕、點(diǎn)擊相關(guān)搜索、點(diǎn)擊搜索提示、翻頁等,如果服務(wù)器預(yù)測命中,則客戶端會(huì)立即展現(xiàn)預(yù)渲染后的搜索結(jié)果;如果沒有命中,則發(fā)起一次正常的搜索請求。
[0060]需要說明的是,在用戶搜索過程中,可以有多次客戶端收集信息_>服務(wù)器預(yù)搜索_>客戶端預(yù)渲染的過程,即可以多次執(zhí)行步驟S101-103。
[0061]上述搜索方法,通過將收集的信息或信息的預(yù)處理結(jié)果發(fā)送給服務(wù)器,由服務(wù)器根據(jù)這些信息或信息的預(yù)處理結(jié)果生成預(yù)測查詢詞,并根據(jù)預(yù)測查詢詞進(jìn)行搜索后向客戶端返回搜索結(jié)果,客戶端對這些搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示,待服務(wù)器生成的預(yù)測查詢詞命中用戶實(shí)際輸入的查詢詞時(shí),可以瞬時(shí)顯示預(yù)渲染后的搜索結(jié)果,從而有效地提升服務(wù)器側(cè)搜索引擎的響應(yīng)速度,降低用戶等待時(shí)間,并且對用戶搜索習(xí)慣沒有影響,進(jìn)而提升了用戶的體驗(yàn)度和滿意度。
[0062]圖2是根據(jù)本發(fā)明另一個(gè)實(shí)施例的搜索方法的流程圖。為了減少用戶的搜索等待時(shí)間,需要客戶端和服務(wù)器進(jìn)行配合,該實(shí)施例是從服務(wù)器側(cè)進(jìn)行描述的,如圖2所示,該搜索方法包括以下步驟:
[0063]S201,接收客戶端發(fā)送的信息或上述信息的預(yù)處理結(jié)果,根據(jù)上述信息或上述預(yù)處理結(jié)果生成預(yù)測查詢詞。
[0064]服務(wù)器端的搜索引擎接收到客戶端發(fā)送的信息或這些信息的預(yù)處理結(jié)果后,通過規(guī)則和大數(shù)據(jù)計(jì)算能力生成一個(gè)或多個(gè)預(yù)測查詢詞,在搜索壓力控制下進(jìn)行搜索,并將搜索結(jié)果和生成的預(yù)測查詢詞提前返回給客戶端。
[0065]服務(wù)器在預(yù)測查詢詞時(shí),可以根據(jù)客戶端收集的用戶的行為信息和頁面信息,例如,如果用戶移動(dòng)了鼠標(biāo),且搜索提示已經(jīng)打開,則用戶查詢前兩條搜索提示的概率就比較大。如果客戶端本身已經(jīng)有了一些粗略的預(yù)估,則這些預(yù)估也會(huì)被服務(wù)器參考。
[0066]服務(wù)器在預(yù)測查詢詞時(shí),還會(huì)結(jié)合搜索引擎的大數(shù)據(jù)計(jì)算能力,例如,對當(dāng)前用戶的輸入進(jìn)行語義分析,得到可能的預(yù)測查詢詞和概率;或者根據(jù)歷史搜索結(jié)果對其進(jìn)行擴(kuò)展和補(bǔ)充,綜合各種算法,得到可能的預(yù)測查詢詞和概率。
[0067]本實(shí)施例中,由于服務(wù)器擁有更豐富的用戶行為和語料信息,以及更強(qiáng)勁的計(jì)算能力,因此可以實(shí)現(xiàn)更復(fù)雜的預(yù)測方法,進(jìn)一步提高預(yù)測準(zhǔn)確率,從而減少用戶等待概率。
[0068]S202,根據(jù)上述預(yù)測查詢詞獲得搜索結(jié)果,向上述客戶端返回上述搜索結(jié)果和上述預(yù)測查詢詞,以便上述客戶端對上述搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示,并在確定用戶輸入的查詢詞和上述預(yù)測查詢詞一致時(shí),對預(yù)渲染后的搜索結(jié)果進(jìn)行顯示。
[0069]由于搜索預(yù)測進(jìn)一步加大了服務(wù)器的搜索壓力,因此服務(wù)器在預(yù)測的同時(shí)會(huì)進(jìn)行壓力控制,判斷是否要進(jìn)行預(yù)搜索,以及根據(jù)哪個(gè)或哪幾個(gè)預(yù)測查詢詞進(jìn)行預(yù)搜索。在確定好預(yù)測查詢詞后,可以根據(jù)預(yù)測查詢詞查詢位于服務(wù)器側(cè)的搜索引擎檢索系統(tǒng)中的索引庫獲得搜索結(jié)果。
[0070]服務(wù)器在根據(jù)預(yù)測搜索詞進(jìn)行搜索后,會(huì)將預(yù)測查詢詞和搜索結(jié)果提前返回給客戶端,以便上述客戶端對上述搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示,并在確定用戶輸入的查詢詞和上述預(yù)測查詢詞一致時(shí),對預(yù)渲染后的搜索結(jié)果進(jìn)行顯示。由于現(xiàn)有的搜索方法在預(yù)測正確的情況下也需要等待頁面渲染時(shí)間,如果頁面本身有大量js和圖片信息,渲染過程會(huì)非常耗時(shí),因此用戶的等待時(shí)間也會(huì)比較長,而本發(fā)明實(shí)施例的預(yù)渲染方案,能夠提前、隱式地生成完整的搜索結(jié)果頁面,從而更進(jìn)一步地縮小用戶的等待時(shí)間。
[0071]在上述搜索方法中,服務(wù)器通過接收客戶端發(fā)送的信息或信息的預(yù)處理結(jié)果,根據(jù)這些信息或信息的預(yù)處理結(jié)果生成預(yù)測查詢詞,并根據(jù)預(yù)測查詢詞進(jìn)行搜索后向客戶端返回搜索結(jié)果,以便客戶端對這些搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示,待服務(wù)器生成的預(yù)測查詢詞命中用戶實(shí)際輸入的查詢詞時(shí),可以瞬時(shí)顯示預(yù)渲染后的搜索結(jié)果,從而有效地提升服務(wù)器側(cè)搜索引擎的響應(yīng)速度,降低用戶等待時(shí)間,并且對用戶搜索習(xí)慣沒有影響,進(jìn)而提升了用戶的體驗(yàn)度和滿意度。
[0072]圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的搜索方法的信令流程圖。為了更詳細(xì)地描述本發(fā)明實(shí)施例的技術(shù)方案,該實(shí)施例從客戶端和服務(wù)器交互的角度進(jìn)行描述,如圖3所示,該方法包括:
[0073]S301,客戶端收集信息。
[0074]客戶端收集的信息主要包含兩部分:用戶的行為信息和頁面信息,其中:
[0075]I)用戶的行為信息指的是當(dāng)前用戶在本次搜索過程中一系列的相關(guān)動(dòng)作,包括但不限于用戶輸入的查詢詞、用戶鼠標(biāo)軌跡和區(qū)域、輸入停頓時(shí)間、特殊按鍵(如上下方向鍵、鼠標(biāo)下拉鍵)和輸入速度等。
[0076]2)頁面信息指的是當(dāng)前搜索頁面上的相關(guān)元素,包括但不限于搜索提示是否出現(xiàn)、搜索提示的內(nèi)容、糾錯(cuò)是否出現(xiàn)、糾錯(cuò)的內(nèi)容、相關(guān)搜索內(nèi)容、頁面窗口區(qū)域(即當(dāng)前瀏覽器展現(xiàn)的是頁面的哪一區(qū)域)、頁面焦點(diǎn)等。
[0077]S302,客戶端向服務(wù)器發(fā)送上述信息。
[0078]S303,服務(wù)器接收上述信息,根據(jù)上述信息生成預(yù)測查詢詞,根據(jù)該預(yù)測查詢詞獲得搜索結(jié)果。
[0079]服務(wù)器接收到客戶端發(fā)送的信息后,通過規(guī)則和大數(shù)據(jù)計(jì)算能力生成一個(gè)或多個(gè)預(yù)測查詢詞,并在搜索壓力控制下進(jìn)行搜索獲得搜索結(jié)果。
[0080]S304,服務(wù)器向客戶端返回預(yù)測查詢詞和搜索結(jié)果。
[0081]服務(wù)器將搜索結(jié)果和生成的預(yù)測查詢詞提前返回給客戶端。
[0082]S305,客戶端接收預(yù)測查詢詞和搜索結(jié)果,對上述搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯
/Jn o
[0083]當(dāng)客戶端獲取服務(wù)器返回的搜索結(jié)果后,可以提前進(jìn)行頁面的渲染。該渲染過程和新的搜索結(jié)果中的搜索結(jié)果頁都對用戶隱藏,因此不會(huì)影響用戶的當(dāng)前行為。
[0084]S306,獲得用戶輸入的查詢詞,并在確定查詢詞與預(yù)測查詢詞二者一致時(shí),對預(yù)渲染后的搜索結(jié)果進(jìn)行顯示。
[0085]在該實(shí)施例中,客戶端和服務(wù)器互相配合,通過客戶端收集用戶信息,并做基本判斷;通過服務(wù)器獲取客戶端收集的信息,通過規(guī)則和大數(shù)據(jù)計(jì)算能力預(yù)測一個(gè)或多個(gè)預(yù)測查詢詞,在搜索壓力控制下進(jìn)行搜索,并將搜索結(jié)果提前返回給客戶端;最后,客戶端根據(jù)搜索結(jié)果提前進(jìn)行頁面渲染,但對用戶隱藏,而在用戶實(shí)際發(fā)起搜索時(shí)立即展現(xiàn),從而有效地減少了用戶的搜索等待時(shí)間。
[0086]由此可見,本發(fā)明實(shí)施例能夠?qū)崿F(xiàn)整體搜索壓力的控制和更靈活、更準(zhǔn)確的預(yù)搜索策略,具有實(shí)際應(yīng)用價(jià)值。同時(shí),通過客戶端預(yù)渲染技術(shù),能夠?qū)崿F(xiàn)搜索結(jié)果的瞬時(shí)展現(xiàn),減少用戶的等待時(shí)間,并且不打斷用戶的搜索過程,維護(hù)用戶的搜索習(xí)慣,用戶體驗(yàn)更佳。
[0087]需要說明的是,上述搜索方法可以在計(jì)算機(jī)上完成,也可以在移動(dòng)終端上完成。
[0088]為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明的實(shí)施例還提出一種客戶端。[0089]圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的客戶端的結(jié)構(gòu)示意圖。如圖4所示,該客戶端包括:收集發(fā)送模塊410、接收模塊420、預(yù)渲染模塊430和顯示模塊440,其中:
[0090]收集發(fā)送模塊410用于收集信息,向服務(wù)器發(fā)送該信息或該信息的預(yù)處理結(jié)果,以便上述服務(wù)器根據(jù)該信息或預(yù)處理結(jié)果生成預(yù)測查詢詞;接收模塊420用于接收服務(wù)器返回的預(yù)測查詢詞和根據(jù)上述預(yù)測查詢詞返回的搜索結(jié)果;預(yù)渲染模塊430用于對上述搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示;顯示模塊440用于獲得用戶輸入的查詢詞,并在確定查詢詞與預(yù)測查詢詞一致時(shí),對預(yù)渲染后的搜索結(jié)果進(jìn)行顯示。
[0091]另外,上述顯示模塊還用于在確定上述查詢詞與上述預(yù)測查詢詞不一致時(shí),刪除上述預(yù)渲染模塊預(yù)渲染后的搜索結(jié)果,并向服務(wù)器發(fā)送與上述查詢詞對應(yīng)的搜索請求,接收服務(wù)器根據(jù)上述搜索請求返回的搜索結(jié)果,對上述搜索結(jié)果進(jìn)行渲染并顯示。
[0092]上述收集發(fā)送模塊410收集的信息主要包含兩部分:用戶的行為信息和頁面信息,其中:
[0093]I)用戶的行為信息指的是當(dāng)前用戶在本次搜索過程中一系列的相關(guān)動(dòng)作,包括但不限于用戶輸入的查詢詞、用戶鼠標(biāo)軌跡和區(qū)域、輸入停頓時(shí)間、特殊按鍵(如上下方向鍵、鼠標(biāo)下拉鍵)和輸入速度等。
[0094]2)頁面信息指的是當(dāng)前搜索頁面上的相關(guān)元素,包括但不限于搜索提示是否出現(xiàn)、搜索提示的內(nèi)容、糾錯(cuò)是否出現(xiàn)、糾錯(cuò)的內(nèi)容、相關(guān)搜索內(nèi)容、頁面窗口區(qū)域(即當(dāng)前瀏覽器展現(xiàn)的是頁面的哪一區(qū)域)、頁面焦點(diǎn)等。
[0095]上述收集發(fā)送模塊410可以定期收集這些信息然后向服務(wù)器發(fā)送,也可以根據(jù)特定事件例如鍵盤敲擊、鼠標(biāo)移動(dòng)等事件觸發(fā)式地收集和發(fā)送。為了優(yōu)化和服務(wù)器傳輸?shù)男?,收集發(fā)送模塊410在數(shù)據(jù)收集的同時(shí)也可以做一些預(yù)處理工作,即可以只在特定的條件下才發(fā)送信息,也可以在發(fā)送信息時(shí)丟棄一些不重要的信息,還可以對信息進(jìn)行合并或者初步推斷出一個(gè)或多個(gè)查詢詞等供服務(wù)器參考。
[0096]上述預(yù)渲染模塊430獲取服務(wù)器返回的搜索結(jié)果后,可以提前進(jìn)行頁面的渲染。尤其在頁面包含大量js和圖片信息等渲染過程非常耗時(shí)的情況下,采用本發(fā)明的預(yù)渲染方案,可以提前、隱式地生成完整的搜索結(jié)果頁面,從而可以更進(jìn)一步地縮小用戶的等待時(shí)間。并且該渲染過程和新的搜索結(jié)果中的搜索結(jié)果頁都對用戶隱藏,因此不會(huì)影響用戶的當(dāng)前行為。
[0097]具體地,上述客戶端的工作過程可參見圖1和圖3,此處不贅述。
[0098]上述客戶端,通過收集發(fā)送模塊將收集的信息或信息的預(yù)處理結(jié)果發(fā)送給服務(wù)器,由服務(wù)器根據(jù)這些信息或信息的預(yù)處理結(jié)果生成預(yù)測查詢詞,并根據(jù)預(yù)測查詢詞進(jìn)行搜索后向客戶端返回搜索結(jié)果,客戶端通過預(yù)渲染模塊對這些搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示,待服務(wù)器生成的預(yù)測查詢詞命中用戶實(shí)際輸入的查詢詞時(shí),可以瞬時(shí)顯示預(yù)渲染后的搜索結(jié)果,從而有效地提升服務(wù)器側(cè)搜索引擎的響應(yīng)速度,降低用戶等待時(shí)間,并且對用戶搜索習(xí)慣沒有影響,進(jìn)而提升了用戶的體驗(yàn)度和滿意度。
[0099]為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明的實(shí)施例還提出一種服務(wù)器。
[0100]圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的服務(wù)器的結(jié)構(gòu)示意圖。如圖5所示,該服務(wù)器包括:接收生成模塊510和搜索模塊520,其中:
[0101]接收生成模塊510用于接收客戶端發(fā)送的信息或上述信息的預(yù)處理結(jié)果,根據(jù)上述信息或上述預(yù)處理結(jié)果生成預(yù)測查詢詞;搜索模塊520用于根據(jù)上述接收生成模塊生成的上述預(yù)測查詢詞獲得搜索結(jié)果,向上述客戶端返回上述搜索結(jié)果和上述預(yù)測查詢詞,以便上述客戶端對上述搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示,并在確定用戶輸入的查詢詞和上述預(yù)測查詢詞一致時(shí),對預(yù)渲染后的搜索結(jié)果進(jìn)行顯示。
[0102]由于服務(wù)器擁有更豐富的用戶行為和語料信息,以及更強(qiáng)勁的計(jì)算能力,因此可以實(shí)現(xiàn)更復(fù)雜的預(yù)測方法,進(jìn)一步提高預(yù)測準(zhǔn)確率,從而減少用戶等待概率。具體地,上述接收生成模塊510對上述信息或上述預(yù)處理結(jié)果進(jìn)行語義分析,獲得上述預(yù)測查詢詞;也可以基于歷史經(jīng)驗(yàn)數(shù)據(jù),對上述信息或上述預(yù)處理結(jié)果進(jìn)行分析,獲得上述預(yù)測查詢詞。
[0103]另外,由于搜索預(yù)測進(jìn)一步加大了服務(wù)器的搜索壓力,因此搜索模塊520在預(yù)測的同時(shí)會(huì)進(jìn)行壓力控制,判斷是否要進(jìn)行預(yù)搜索,以及根據(jù)哪個(gè)或哪幾個(gè)預(yù)測查詢詞進(jìn)行預(yù)搜索。
[0104]搜索模塊520在根據(jù)預(yù)測搜索詞進(jìn)行搜索后,會(huì)將預(yù)測查詢詞和搜索結(jié)果提前返回給客戶端,以便上述客戶端對上述搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示,并在確定用戶輸入的查詢詞和上述預(yù)測查詢詞一致時(shí),對預(yù)渲染后的搜索結(jié)果進(jìn)行顯示。由于現(xiàn)有的搜索方法在預(yù)測正確的情況下也需要等待頁面渲染時(shí)間,如果頁面本身有大量js和圖片信息,渲染過程會(huì)非常耗時(shí),因此用戶的等待時(shí)間也會(huì)比較長,而本發(fā)明實(shí)施例客戶端所采用的預(yù)渲染方案,能夠提前、隱式地生成完整的搜索結(jié)果頁面,從而更進(jìn)一步地縮小用戶的等待時(shí)間。
[0105]具體地,上述服務(wù)器的工作過程可參見圖2和圖3,此處不贅述。
[0106]上述服務(wù)器,通過接收生成模塊接收客戶端發(fā)送的信息或信息的預(yù)處理結(jié)果,根據(jù)這些信息或信息的預(yù)處理結(jié)果生成預(yù)測查詢詞,并使用搜索模塊根據(jù)預(yù)測查詢詞進(jìn)行搜索后向客戶端返回搜索結(jié)果,以便客戶端對這些搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示,待服務(wù)器生成的預(yù)測查詢詞命中用戶實(shí)際輸入的查詢詞時(shí),可以瞬時(shí)顯示預(yù)渲染后的搜索結(jié)果,從而有效地提升服務(wù)器側(cè)搜索引擎的響應(yīng)速度,降低用戶等待時(shí)間,并且對用戶搜索習(xí)慣沒有影響,進(jìn)而提升了用戶的體驗(yàn)度和滿意度。
[0107]應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對數(shù)據(jù)信號實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
[0108]在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
[0109]盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,本領(lǐng)域的普通技術(shù)人員可以理解:在不脫離本發(fā)明的原理和宗旨的情況下可以對這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同物限定。
【權(quán)利要求】
1.一種搜索方法,其特征在于,包括: 收集信息,向服務(wù)器發(fā)送所述信息或所述信息的預(yù)處理結(jié)果,以便所述服務(wù)器根據(jù)所述信息或所述預(yù)處理結(jié)果生成預(yù)測查詢詞; 接收服務(wù)器返回的預(yù)測查詢詞和根據(jù)所述預(yù)測查詢詞返回的搜索結(jié)果; 對所述搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示;以及 獲得用戶輸入的查詢詞,并在確定所述查詢詞與所述預(yù)測查詢詞一致時(shí),對預(yù)渲染后的搜索結(jié)果進(jìn)行顯示。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法還包括: 在確定所述查詢詞與所述預(yù)測查詢詞不一致時(shí),刪除預(yù)渲染后的搜索結(jié)果,并向服務(wù)器發(fā)送與所述查詢詞對應(yīng)的搜索請求,接收服務(wù)器根據(jù)所述搜索請求返回的搜索結(jié)果,對所述搜索結(jié)果進(jìn)行渲染并顯示。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述信息包括用戶的行為信息和頁面信息,其中,所述用戶的行為信息包括用戶輸入查詢詞的相關(guān)動(dòng)作,所述頁面信息包括對應(yīng)頁面的元素信息。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述收集信息,向服務(wù)器發(fā)送所述信息或所述信息的預(yù)處理結(jié)果,包括: 定期收集信息或者根據(jù)觸發(fā)條件收集信息,并向服務(wù)器發(fā)送所述信息或所述信息的預(yù)處理結(jié)果。
5.—種搜索方法,其特征在于,包括: 接收客戶端發(fā)送的信息或所述信息的預(yù)處理結(jié)果,根據(jù)所述信息或所述預(yù)處理結(jié)果生成預(yù)測查詢詞;以及 根據(jù)所述預(yù)測查詢詞獲得搜索結(jié)果,向所述客戶端返回所述搜索結(jié)果和所述預(yù)測查詢詞,以便所述客戶端對所述搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示,并在確定用戶輸入的查詢詞和所述預(yù)測查詢詞一致時(shí),對預(yù)渲染后的搜索結(jié)果進(jìn)行顯示。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述根據(jù)所述信息或所述預(yù)處理結(jié)果生成預(yù)測查詢詞包括: 對所述信息或所述預(yù)處理結(jié)果進(jìn)行語義分析,獲得所述預(yù)測查詢詞;或者 基于歷史經(jīng)驗(yàn)數(shù)據(jù),對所述信息或所述預(yù)處理結(jié)果進(jìn)行分析,獲得所述預(yù)測查詢詞。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述根據(jù)所述預(yù)測查詢詞獲得搜索結(jié)果包括: 在預(yù)定的搜索壓力下,根據(jù)所述預(yù)測查詢詞獲得搜索結(jié)果。
8.一種客戶端,其特征在于,包括: 收集發(fā)送模塊,用于收集信息,向服務(wù)器發(fā)送所述信息或所述信息的預(yù)處理結(jié)果,以便所述服務(wù)器根據(jù)所述信息或所述預(yù)處理結(jié)果生成預(yù)測查詢詞; 接收模塊,用于接收服務(wù)器返回的預(yù)測查詢詞和根據(jù)所述預(yù)測查詢詞返回的搜索結(jié)果; 預(yù)渲染模塊,用于對所述搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示;以及 顯示模塊,用于獲得用戶輸入的查詢詞,并在確定所述查詢詞與所述預(yù)測查詢詞一致時(shí),對預(yù)渲染后的搜索結(jié)果進(jìn)行顯示。
9.根據(jù)權(quán)利要求8所述的客戶端,其特征在于,所述顯示模塊,還用于: 在確定所述查詢詞與所述預(yù)測查詢詞不一致時(shí),刪除所述預(yù)渲染模塊預(yù)渲染后的搜索結(jié)果,并向服務(wù)器發(fā)送與所述查詢詞對應(yīng)的搜索請求,接收服務(wù)器根據(jù)所述搜索請求返回的搜索結(jié)果,對所述搜索結(jié)果進(jìn)行渲染并顯示。
10.根據(jù)權(quán)利要求8所述的客戶端,其特征在于,所述信息包括用戶的行為信息和頁面信息,其中,所述用戶的行為信息包括用戶輸入查詢詞的相關(guān)動(dòng)作。
11.根據(jù)權(quán)利要求10所述的客戶端,其特征在于,所述收集發(fā)送模塊,具體用于: 定期收集信息或者根據(jù)觸發(fā)條件收集信息,并向服務(wù)器發(fā)送所述信息或所述信息的預(yù)處理結(jié)果。
12.一種服務(wù)器,其特征在于,包括: 接收生成模塊,用于接收客戶端發(fā)送的信息或所述信息的預(yù)處理結(jié)果,根據(jù)所述信息或所述預(yù)處理結(jié)果生成預(yù)測查詢詞;以及 搜索模塊,用于根據(jù)所述接收生成模塊生成的所述預(yù)測查詢詞獲得搜索結(jié)果,向所述客戶端返回所述搜索結(jié)果和所述預(yù)測查詢詞,以便所述客戶端對所述搜索結(jié)果進(jìn)行預(yù)渲染和隱藏顯示,并在確定用戶輸入的查詢詞和所述預(yù)測查詢詞一致時(shí),對預(yù)渲染后的搜索結(jié)果進(jìn)行顯示。
13.根據(jù)權(quán)利要求12所述的服務(wù)器,其特征在于,所述接收生成模塊,具體用于: 對所述信息或所述預(yù)處理結(jié)果進(jìn)行語義分析,獲得所述預(yù)測查詢詞;或者 基于歷史經(jīng)驗(yàn)數(shù)據(jù),對所述信息或所述預(yù)處理結(jié)果進(jìn)行分析,獲得所述預(yù)測查詢詞。
14.根據(jù)權(quán)利要求12所述的服務(wù)器,其特征在于,所述搜索模塊,具體用于: 在預(yù)定的搜索壓力下,根據(jù)所述預(yù)測查詢詞獲得搜索結(jié)果。
【文檔編號】G06F17/30GK103617253SQ201310628558
【公開日】2014年3月5日 申請日期:2013年11月29日 優(yōu)先權(quán)日:2013年11月29日
【發(fā)明者】譚待, 遠(yuǎn)超, 王芃, 李周全, 彭滔, 楊震原 申請人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司