相關(guān)申請的交叉引用
本申請要求于2014年12月31日提交的美國專利申請no.14/588,222的優(yōu)先權(quán),其全部內(nèi)容通過引用的方式并入本文。
本公開一般涉及數(shù)據(jù)分析,并且在特定示例實施例中,涉及提供動態(tài)內(nèi)容遞送。
背景技術(shù):
通常,當(dāng)用戶執(zhí)行搜索時,用戶必須輸入搜索字符串,然后選擇“回車”鍵。一旦選擇了“回車”鍵,搜索系統(tǒng)獲取整個搜索字符串,并對與整個搜索字符串匹配的條目執(zhí)行搜索。這樣,在用戶輸入搜索字符串并選擇“回車”鍵與獲得搜索結(jié)果之間存在滯后時間。另外,為了訪問以前的搜索結(jié)果,用戶必須通過選擇后退按鈕來重新加載先前的搜索結(jié)果。
附圖說明
附圖中的各個附圖僅示意說明了本發(fā)明的示例實施例,并且不能被認為是限制本發(fā)明的范圍。
圖1是示出用于提供動態(tài)內(nèi)容遞送搜索系統(tǒng)的系統(tǒng)的網(wǎng)絡(luò)架構(gòu)的示例實施例的框圖。
圖2是示出發(fā)布系統(tǒng)的示例實施例的框圖。
圖3是搜索引擎的示例實施例的框圖。
圖4a-4g是動態(tài)內(nèi)容遞送搜索系統(tǒng)的示例用戶界面。
圖5是用于在搜索系統(tǒng)中提供動態(tài)內(nèi)容的示例方法的流程圖。
圖6是用于在搜索系統(tǒng)中細化動態(tài)內(nèi)容的示例方法的流程圖。
圖7是用于提供無限搜索結(jié)果頁面(srp)的示例方法的流程圖。
圖8是以計算系統(tǒng)作為示例形式的機器的簡化框圖,在所述機器中可以執(zhí)行用于使得所述機器執(zhí)行本文討論的方法中的任何一個或多個方法的指令集。
具體實施方式
以下說明包括具體體現(xiàn)本發(fā)明的說明性實施例的系統(tǒng)、方法、技術(shù)、指令序列和計算機程序產(chǎn)品。在下文的描述中,出于解釋的目的,闡述了很多具體細節(jié)以提供對發(fā)明主題的各種實施例的理解。然而,本領(lǐng)域技術(shù)人員將顯而易見的是,本發(fā)明主題的實施例可以在沒有這些具體細節(jié)的情況下實施。一般而言,對公知的指令實例、協(xié)議、結(jié)構(gòu)和技術(shù)不進行詳細說明。
本文描述的示例實施例提供了以有效和快速的方式向用戶提供動態(tài)搜索內(nèi)容的系統(tǒng)和方法。示例實施例允許用戶向?qū)⑺阉鳈谳斎胨阉髯址?,包括一個或多個關(guān)鍵字。當(dāng)用戶正在輸入(例如打字或說話)搜索字符串時,動態(tài)內(nèi)容遞送搜索系統(tǒng)已經(jīng)在獲取關(guān)鍵字并即時執(zhí)行匹配處理以確定與關(guān)鍵字匹配的結(jié)果。這是在不需要用戶選擇例如“回車”鍵的情況下完成的。因此,一旦用戶完成整個搜索字符串的輸入,在不需要用戶選擇“回車”鍵的情況下,搜索結(jié)果就被排隊以便呈現(xiàn)給用戶,并且可以在搜索欄周圍自動地“浮出水面”。相應(yīng)地,因為在用戶甚至尚未完成整個搜索字符串的輸入之前就在執(zhí)行匹配處理,并且潛在的結(jié)果被排隊(例如,在存儲器或高速緩存中)以便在完成搜索字符串的輸入時立即進行遞送,所以在呈現(xiàn)結(jié)果時沒有滯后時間。
在示例實施例中,搜索的當(dāng)前級別的搜索結(jié)果被呈現(xiàn)在客戶端設(shè)備上顯示的搜索結(jié)果頁面上。檢測向當(dāng)前級別的搜索結(jié)果的呈現(xiàn)施加的滾動指示?;跐L動指示的方向,在搜索結(jié)果頁面上在所指示的方向上滾動當(dāng)前級別的搜索結(jié)果。做出關(guān)于響應(yīng)于滾動已經(jīng)到達當(dāng)前級別的搜索結(jié)果的呈現(xiàn)的末尾的確定。作為響應(yīng),將先前級別的搜索結(jié)果附加到當(dāng)前級別的搜索結(jié)果的呈現(xiàn)的末尾,以引起搜索結(jié)果頁面的連續(xù)呈現(xiàn)。
因此,本文描述的一種或多種方法有利于執(zhí)行搜索并呈現(xiàn)相應(yīng)的搜索結(jié)果。先前的搜索結(jié)果被附加到當(dāng)前搜索結(jié)果集的末尾,使得不需要用戶回溯(例如,選擇“返回”按鈕或重新加載具有先前的搜索結(jié)果的頁面)。當(dāng)總體來考慮這些效果時,本文描述的一個或多個方法可以不再需要在提供針對搜索請求的內(nèi)容時原本會涉及的某些工作量或資源??梢詼p少由(例如在網(wǎng)絡(luò)環(huán)境100中的)一個或多個機器、數(shù)據(jù)庫或設(shè)備使用的計算資源。這樣的計算資源的示例包括處理器循環(huán)、網(wǎng)絡(luò)流量、存儲器使用狀況、數(shù)據(jù)存儲容量、功耗以及冷卻能力。
參考圖1,示出了用于提供動態(tài)內(nèi)容遞送搜索系統(tǒng)的基于基于客戶端-服務(wù)器的高級網(wǎng)絡(luò)架構(gòu)100的示例實施例。在一個示例中,聯(lián)網(wǎng)系統(tǒng)102形成網(wǎng)絡(luò)服務(wù)器側(cè)功能,并經(jīng)由通信網(wǎng)絡(luò)104(例如,互聯(lián)網(wǎng)、無線網(wǎng)絡(luò)、蜂窩網(wǎng)絡(luò)或廣域網(wǎng)(wan))與一個或多個客戶端設(shè)備110、112耦合。例如,圖1示出了經(jīng)由瀏覽器(例如如由華盛頓州雷德蒙德市的
客戶端設(shè)備110、112均可以包括移動電話、臺式計算機、膝上型計算機或用戶可以用于訪問聯(lián)網(wǎng)系統(tǒng)102的任意其他通信設(shè)備。在一些實施例中,每個客戶端設(shè)備(例如,客戶端設(shè)備110)可以包括顯示模塊(未示出)以(例如,以用戶界面的形式)顯示信息。在另一些實施例中,客戶端設(shè)備可以包括觸摸屏、加速度計、相機、麥克風(fēng)和全球定位系統(tǒng)(gps)設(shè)備等中的一個或多個??蛻舳嗽O(shè)備110、112可以是用戶的設(shè)備,其被用于觸發(fā)信息處理、執(zhí)行搜索、以及從由聯(lián)網(wǎng)系統(tǒng)102提供的動態(tài)內(nèi)容遞送搜索系統(tǒng)接收結(jié)果。在一個實施例中,聯(lián)網(wǎng)系統(tǒng)102包括或鏈接到基于網(wǎng)絡(luò)的市場,所述基于網(wǎng)絡(luò)的市場管理數(shù)字商品,發(fā)布包括在該基于網(wǎng)絡(luò)的市場上可獲得的產(chǎn)品的產(chǎn)品列表在內(nèi)的刊物,以及管理這些市場交易的付款。
應(yīng)用程序接口(api)服務(wù)器114和web服務(wù)器116耦合至一個或多個應(yīng)用服務(wù)器118,并分別向一個或多個應(yīng)用服務(wù)器118提供編程和web接口。應(yīng)用服務(wù)器118可以托管(host)一個或多個發(fā)布系統(tǒng)120,發(fā)布系統(tǒng)142可以包括一個或多個模塊、應(yīng)用或引擎,并且可以實現(xiàn)為硬件、軟件、固件或它們的任意組合。應(yīng)用服務(wù)器118進而與便于訪問一個或多個信息存儲資料庫或數(shù)據(jù)庫124的一個或多個數(shù)據(jù)庫服務(wù)器122耦合。在一個實施例中,數(shù)據(jù)庫124是存儲可被動態(tài)內(nèi)容遞送搜索系統(tǒng)搜索的內(nèi)容(例如,產(chǎn)品列表、商店信息、廣告、視頻)的存儲設(shè)備。
在示例實施例中,發(fā)布系統(tǒng)120在網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))上發(fā)布內(nèi)容。這樣,發(fā)布系統(tǒng)120向訪問聯(lián)網(wǎng)系統(tǒng)102的用戶提供多個發(fā)布功能和服務(wù)。在示例實施例中,發(fā)布系統(tǒng)120是市場環(huán)境,通過該市場環(huán)境用戶可以購買其上列出的產(chǎn)品。然而,要注意的是,在備選實施例中,發(fā)布系統(tǒng)120可以與例如信息(如,搜索引擎)或社交網(wǎng)絡(luò)環(huán)境之類的非市場環(huán)境相關(guān)聯(lián)。下面將結(jié)合圖2來進行更詳細地論述發(fā)布系統(tǒng)120。
雖然發(fā)布系統(tǒng)120在圖1中被示為形成聯(lián)網(wǎng)系統(tǒng)102的一部分,但是應(yīng)當(dāng)理解,在備選實施例中,發(fā)布系統(tǒng)120可以形成與聯(lián)網(wǎng)系統(tǒng)102分離且不同的單獨服務(wù)的一部分。此外,盡管圖1的示例網(wǎng)絡(luò)結(jié)構(gòu)100采用客戶端-服務(wù)器架構(gòu),本領(lǐng)域技術(shù)人員將意識到本公開不限于這種結(jié)構(gòu)。示例網(wǎng)絡(luò)結(jié)構(gòu)100可以同樣好地應(yīng)用在例如分布式或點對點架構(gòu)系統(tǒng)中。發(fā)布系統(tǒng)120還可以實現(xiàn)為在不一定具備聯(lián)網(wǎng)能力的單獨硬件平臺下操作的單機系統(tǒng)或單機軟件程序。例如,發(fā)布系統(tǒng)120連同數(shù)據(jù)庫124可以整個在客戶端設(shè)備(例如,客戶端設(shè)備112)上,或者發(fā)布系統(tǒng)120可以在客戶端設(shè)備上,并且可以訪問單獨的數(shù)據(jù)庫124。
現(xiàn)在參照圖2,在一個實施例中,示出了在聯(lián)網(wǎng)系統(tǒng)102的發(fā)布系統(tǒng)120內(nèi)提供的多個組件的示例框圖。在該實施例中,發(fā)布系統(tǒng)120包括與基于網(wǎng)絡(luò)的市場相關(guān)聯(lián)的內(nèi)容遞送搜索系統(tǒng),在所述基于網(wǎng)絡(luò)的市場中可以提供用于出售的項目(例如,商品或服務(wù))。這些項目可以包括數(shù)字商品(例如貨幣、許可權(quán))以及實體商品。發(fā)布系統(tǒng)120可以在專用或共享服務(wù)器機器(未示出)上托管,這些專用或共享服務(wù)器機器通信耦合以實現(xiàn)服務(wù)器機器之間的通信。多個組件自身直接或間接彼此通信地耦合并與各種數(shù)據(jù)源通信地耦合(例如經(jīng)由適當(dāng)?shù)慕涌?,以允許信息在組件間傳遞或允許組件共享并訪問公共數(shù)據(jù)。此外,組件可以經(jīng)由一個或多個數(shù)據(jù)庫服務(wù)器122訪問一個或多個數(shù)據(jù)庫124。
發(fā)布系統(tǒng)120可以提供眾多發(fā)布、列表和價格設(shè)置機制,其中,賣家(例如,個人、商店、公司)可以列出出售的商品或服務(wù)(或發(fā)布與商品或服務(wù)有關(guān)的信息),買家可以表示購買這種商品或服務(wù)的興趣或者意向,并且可以為關(guān)于商品或服務(wù)的交易設(shè)置價格。為此,發(fā)布應(yīng)用120可以包括至少一個發(fā)布引擎202以及一個或多個拍賣引擎204,拍賣引擎704支持拍賣形式的列表和價格設(shè)置機制(例如英式拍賣、荷式拍賣、次高叫價拍賣、中式拍賣、復(fù)式拍賣、逆向拍賣等)。
商店引擎206允許賣家將列表組合在“虛擬”商店中,該“虛擬”商店可以被賣家冠以品牌或者被賣家個性化。這種虛擬商店還可以提供促銷、激勵以及對于賣家來說特定和個性化的特征。在一個示例中,賣家可以供應(yīng)多個項目作為虛擬商店中的現(xiàn)在購買(buy-it-now)項目,提供多個項目用于銷售或拍賣,或二者的組合。賣家還可以通過其商店提供其他內(nèi)容。例如,賣方可以提供食譜或視頻(例如,示出如何制作或使用項目)。
可以由導(dǎo)航引擎208促進發(fā)布系統(tǒng)120的導(dǎo)航。例如,導(dǎo)航引擎208的瀏覽器模塊(未示出)允許用戶106根據(jù)哪些內(nèi)容可在發(fā)布系統(tǒng)120內(nèi)分類來瀏覽各種搜索結(jié)果、類別、目錄或庫存數(shù)據(jù)結(jié)構(gòu)??梢蕴峁?dǎo)航引擎208內(nèi)的各種其他導(dǎo)航應(yīng)用,以補充瀏覽應(yīng)用。
為使可經(jīng)由聯(lián)網(wǎng)系統(tǒng)獲得的內(nèi)容盡可能可視化地進行通知且吸引人,發(fā)布系統(tǒng)120可以包括成像引擎210,成像引擎210使用戶能夠上載圖像或視頻以包括在發(fā)布中,并將圖像或視頻涵蓋在查看的發(fā)布內(nèi)。成像引擎210還可以從用戶接收作為搜索查詢的圖像數(shù)據(jù),并利用圖像數(shù)據(jù)(例如,元數(shù)據(jù))來識別圖像數(shù)據(jù)所描繪或描述的項目。根據(jù)示例實施例,成像引擎210可以使用從第三方媒體托管站點獲取的圖像或其他數(shù)字內(nèi)容。
內(nèi)容創(chuàng)建引擎212允許用戶(例如,賣方)方便地創(chuàng)建發(fā)布、內(nèi)容或項目列表。在一個實施例中,內(nèi)容與用戶(例如,賣方)希望經(jīng)由發(fā)布系統(tǒng)120交易的商品或服務(wù)有關(guān)。在其他實施例中,用戶可以創(chuàng)建作為廣告或其他形式的發(fā)布(例如,教學(xué)視頻)的內(nèi)容。
內(nèi)容管理引擎214允許用戶管理這些發(fā)布或內(nèi)容。具體地,在特定用戶已經(jīng)創(chuàng)建或發(fā)布了大量內(nèi)容的情況下,管理這些內(nèi)容可能是一個挑戰(zhàn)。內(nèi)容管理應(yīng)用214提供用于幫助用戶管理這些內(nèi)容的多個功能(例如自動重新列出、庫存級別監(jiān)測等)。
搜索引擎216執(zhí)行在聯(lián)網(wǎng)系統(tǒng)102中搜索與查詢匹配的內(nèi)容,將關(guān)鍵字附加到搜索字符串,對搜索結(jié)果進行排隊,以及管理搜索結(jié)果的呈現(xiàn)。這些搜索在用戶正在輸入搜索字符串時即時執(zhí)行。一旦用戶已經(jīng)完成了搜索字符串,不必用戶選擇“回車”按鈕或鍵,就可以對結(jié)果排隊以呈現(xiàn)給用戶(例如,被高速緩存)。下面將結(jié)合圖3來進行更詳細地論述搜索引擎216。
盡管已經(jīng)關(guān)于各種單個模塊和引擎定義了發(fā)布系統(tǒng)120的各種組件,本領(lǐng)域技術(shù)人員將認識到,根據(jù)示例實施例,許多項目可以用其他方式組合或組織,并且并不是所有模塊或引擎都需要存在或被實現(xiàn)。此外,圖2中并沒有包括發(fā)布系統(tǒng)120的全部組件。通常,沒有具體示出或論述不與示例實施例的功能直接相關(guān)的組件、協(xié)議、結(jié)構(gòu)和技術(shù)(例如,定價引擎、爭議解決引擎、忠誠度促進引擎、個性化引擎)。本文給出的說明僅提供各種示例實施例,以輔助讀者理解本文中使用的系統(tǒng)和方法。
圖3示出了,在一個實施例中,具有在發(fā)布系統(tǒng)120的搜索引擎216內(nèi)提供的多個組件的示例框圖。搜索引擎216包括動態(tài)內(nèi)容遞送搜索系統(tǒng),所述動態(tài)內(nèi)容遞送搜索系統(tǒng)在用戶正在輸入搜索字符串時執(zhí)行對搜索字符串中的關(guān)鍵字的即時匹配,并且對搜索結(jié)果進行排隊以便在完成搜索字符串的輸入時立即呈現(xiàn)給用戶。搜索引擎216還允許用戶簡單地通過選擇與所顯示的感興趣的類別、子類別或項目相對應(yīng)的圖像來將關(guān)鍵字附加到搜索字符串。此外,搜索引擎216提供將先前級別的搜索結(jié)果附加到當(dāng)前級別的搜索結(jié)果的底部或末尾的無限搜索結(jié)果頁面(srp)。為了實現(xiàn)這些操作,搜索引擎216包括全部通信地耦合在一起的查詢輸入模塊302、匹配模塊304、結(jié)果模塊306和用戶界面模塊308。
如計算機和互聯(lián)網(wǎng)相關(guān)領(lǐng)域的技術(shù)人員所理解的,圖2和圖3所示的每個組件(例如,模塊或引擎)可以表示一組邏輯(例如,可執(zhí)行軟件指令)和用于執(zhí)行該組邏輯的相應(yīng)硬件(例如,存儲器和處理器)。此外,圖2和圖3中所示的每個組件(例如,模塊或引擎)通信耦合到(經(jīng)由合適的接口)其他組件和各種數(shù)據(jù)源,使得允許在組件之間傳遞信息或者允許組件共享和訪問公共數(shù)據(jù)。此外,圖2和圖3所示的每個組件可以托管在專用的或共享的服務(wù)器機器上,所述服務(wù)器機器通信耦合在一起,以實現(xiàn)服務(wù)器機器之間的通信。
查詢輸入模塊302管理涉及在搜索框內(nèi)輸入搜索字符串的操作,搜索框顯示在呈現(xiàn)給用戶的用戶界面上。因此,查詢輸入模塊302檢測何時搜索字符串正被輸入到搜索框中,并識別搜索字符串的一個或多個關(guān)鍵字。例如,一旦用戶輸入搜索字符串中的第一關(guān)鍵字,查詢輸入模塊302就檢測到關(guān)鍵字的輸入(例如,檢測到一系列字母之后的空格或檢測到對空格鍵的選擇),識別出關(guān)鍵字,并將關(guān)鍵字傳遞給匹配模塊304。針對搜索字符串的每個另外的關(guān)鍵字繼續(xù)該過程。查詢輸入模塊302還管理涉及根據(jù)從先前呈現(xiàn)的搜索結(jié)果中做出的選擇將關(guān)鍵字附加到搜索字符串的操作,將在下面對此進行更詳細的討論。
匹配模塊304執(zhí)行匹配處理以實時確定與搜索字符串中的一個或多個關(guān)鍵字的匹配。在示例實施例中,匹配模塊304接收查詢輸入模塊302檢測到的第一關(guān)鍵字,并且執(zhí)行第一匹配處理以導(dǎo)出與第一關(guān)鍵字匹配的結(jié)果。隨后,如果查詢輸入模塊302檢測到搜索字符串中的第二關(guān)鍵字,則匹配模塊304使用該第二關(guān)鍵字來細化從第一關(guān)鍵字導(dǎo)出的匹配結(jié)果。該匹配過程繼續(xù)進行,直到來自搜索字符串的每個關(guān)鍵字都已涵蓋到匹配過程中??梢岳缤ㄟ^任何另外的關(guān)鍵字的輸入中的空格或暫停來檢測搜索字符串的結(jié)束。
結(jié)果模塊306管理涉及在將結(jié)果呈現(xiàn)給用戶之前處理搜索結(jié)果的操作。在示例實施例中,結(jié)果模塊306確定當(dāng)前搜索或先前搜索或搜索結(jié)果的級別。基于當(dāng)前搜索或先前搜索或搜索結(jié)果的級別,可以檢索不同版本的內(nèi)容以呈現(xiàn)給用戶。例如,如果先前的搜索結(jié)果的級別是處于類別級別(例如,家具),則從先前的搜索結(jié)果構(gòu)建(例如,細化先前的搜索結(jié)果或搜索字符串)的當(dāng)前搜索結(jié)果可以是處于子類別級別(如沙發(fā))。在其他實施例中,當(dāng)前搜索或先前搜索的級別被提供給查詢輸入模塊302,以便查詢輸入模塊302確定要附加到先前的搜索字符串的一個或多個關(guān)鍵字,將在下面對此進行更詳細的討論。
用戶界面模塊308管理用于使得(例如,在用戶的客戶端設(shè)備的顯示器上)向用戶呈現(xiàn)搜索結(jié)果的操作。在示例實施例中,用戶界面模塊308使得搜索結(jié)果以圖形格式呈現(xiàn)在搜索欄或框的一側(cè)或多側(cè)上。相應(yīng)地,用戶接口模塊308訪問搜索結(jié)果的圖像,并且向用戶的客戶端設(shè)備(例如,客戶端設(shè)備110)發(fā)送指令和數(shù)據(jù)以呈現(xiàn)這樣的用戶界面。用戶界面模塊308還管理將先前的搜索結(jié)果附加到當(dāng)前搜索結(jié)果集的末尾,使得不需要用戶回溯(例如,選擇“返回”按鈕或重新加載具有先前的搜索結(jié)果的頁面)。
圖4a-圖4g是動態(tài)內(nèi)容遞送搜索系統(tǒng)(例如,經(jīng)由用戶界面模塊308)呈現(xiàn)的示例用戶界面。圖4a示出了包括主頁的用戶界面400,在該主頁處,用戶開始搜索查詢。如圖所示,用戶界面400包括搜索欄402,用戶可以在搜索欄402中輸入搜索字符串的。
用戶接口400還提供被示出為圖像的多個內(nèi)容,用戶可以從中選擇要附加到當(dāng)前搜索字符串的內(nèi)容。在用戶為發(fā)布系統(tǒng)120已知(例如,經(jīng)由利用發(fā)布系統(tǒng)120記錄的cookie)的情況下,所述多個內(nèi)容可以針對用戶進行個性化定制。例如,在主頁上顯示的內(nèi)容可以包括用戶先前購買過的、先前已經(jīng)執(zhí)行過搜索的、擁有的、已經(jīng)表現(xiàn)出興趣的項目的類別,或其任意組合。
現(xiàn)在參考圖4b,用戶已經(jīng)輸入“summercocktail(夏季雞尾酒)”作為搜索字符串。作為響應(yīng),當(dāng)用戶鍵入“summercocktail”時,對應(yīng)于與“summercocktail”相關(guān)的類別的各種圖像在搜索欄402周圍“浮出水面”或顯示。在一些實施例中,在輸入搜索字符串的每個關(guān)鍵字時可以顯示各種結(jié)果。例如,在用戶鍵入“summer(夏天)”之后,可以在搜索欄402周圍顯示一組圖像。當(dāng)用戶繼續(xù)輸入搜索字符串的剩余部分(例如,鍵入“cocktail(雞尾酒)”)時,在搜索欄402周圍顯示的圖像被細化以顯示對應(yīng)于“summercocktail”的類別。在其他實施例中,直到用戶已經(jīng)完成了搜索字符串的輸入,才會顯示圖像。然而,在用戶正在輸入關(guān)鍵字時,搜索引擎216基于用戶正在搜索欄402中輸入的內(nèi)容來動態(tài)地組織(curate)和創(chuàng)建搜索結(jié)果,由此在后端(例如,發(fā)布系統(tǒng)120)對搜索結(jié)果進行排隊。隨著在搜索欄402中附加更多的關(guān)鍵字,排隊的搜索結(jié)果被細化。結(jié)果,與直到在用戶選擇“回車”鍵之后才發(fā)生對搜索字符串的處理的實施例相比,可以更快地返回搜索結(jié)果。
如圖4b的示例用戶界面中所示,搜索結(jié)果的各種類別例如包括眼鏡、玻璃飲料杯、女裝、男裝、酒具和家具。用戶可以選擇與這些類別之一相對應(yīng)的圖像來細化搜索。例如,用戶可以選擇與玻璃飲料杯相對應(yīng)的圖像404。通過選擇該圖像,與所選圖像相關(guān)聯(lián)的一個或多個關(guān)鍵字被附加到搜索字符串。例如,查詢輸入模塊302根據(jù)與所選擇的圖像相關(guān)聯(lián)的元數(shù)據(jù)(例如,描述圖像中的項目的屬性)確定一個或多個關(guān)鍵字。該一個或多個關(guān)鍵字由用戶界面模塊308附加到搜索字符串,并被匹配模塊304使用以細化當(dāng)前搜索結(jié)果?,F(xiàn)在參考圖4c,搜索欄402現(xiàn)在示出關(guān)鍵字對“glasses(玻璃杯)”的添加,得到新的搜索字符串“summercocktailglasses(夏天雞尾酒玻璃杯)”。因此,可以使用對視覺表示或圖像的選擇來細化搜索。
附加到搜索字符串的該一個或多個關(guān)鍵字取決于當(dāng)前搜索的級別。在一個實施例中,所顯示的圖像中的每一個被標(biāo)記(例如,利用附加的元數(shù)據(jù)來標(biāo)記),以指示該搜索中的當(dāng)前級別。例如,“summercocktail(夏季雞尾酒)”的返回結(jié)果代表類別(視覺類別表示)。因此,搜索引擎216將檢測到與“玻璃飲料杯”相對應(yīng)的圖像具有標(biāo)簽“類別”。因此,從類別級別中選擇“玻璃飲料杯”將向搜索引擎216指示:附加與類別級別對應(yīng)的關(guān)鍵字,以及返回與玻璃飲料杯對應(yīng)的子類別(例如,商品、商店)中的結(jié)果。另外,如果當(dāng)前級別是玻璃飲料杯的子類別,則對顯示玻璃飲料杯的圖像的選擇會使得與子類別等級對應(yīng)的關(guān)鍵字被附加,并且以項目級別返回結(jié)果(例如,可供購買的各個項目)。
如在圖4c中所示,現(xiàn)在在搜索欄402周圍顯示與搜索字符串“summercocktailglasses(夏季雞尾酒玻璃杯)”對應(yīng)的圖像。所述圖像可能對應(yīng)于與夏季雞尾酒玻璃杯相關(guān)的子類別。例如,圖4c中示出了與玻璃飲料杯的類型對應(yīng)的圖像、與玻璃飲料杯相關(guān)的附件、以及與雞尾酒相關(guān)的成分。
另外,在圖4c中顯示了對應(yīng)于與玻璃飲料杯相關(guān)的視頻408的圖像406。如果用戶選擇圖像406,則視頻408開始播放,如圖4d所示。在圖4d的示例用戶界面中,視頻408與銷售玻璃飲料杯的商店(例如布魯克林玻璃與商品公司(brooklynglass&mercantilecompany))相關(guān)聯(lián),并且可以例如顯示如何制作雞尾酒。此外,搜索欄402可以被重新定位(例如,移動到用戶界面的頂部),以便顯示視頻408。
對圖像406(或現(xiàn)在播放的視頻408)的另一選擇例如導(dǎo)致顯示視頻408的全屏410,如圖4e所示。搜索欄402保持在被重新定位的位置處(例如,移動到用戶界面的頂部),以便顯示全屏410。備選地,對圖4c中的圖像406的選擇可以使得視頻408在全屏410中播放,如圖4e所示。
另外,在搜索欄402中附加與所選的圖像406鏈接的一個或多個關(guān)鍵字。在本例中,“frombrooklynglass&mercantileco.(來自布魯克林玻璃與商品公司)”被附加到“summercocktailglasses(夏季雞尾酒玻璃杯)”。附加與布魯克林玻璃與商品公司相關(guān)聯(lián)的關(guān)鍵字使得搜索引擎216進一步細化先前的搜索結(jié)果,即使用戶尚未請求進一步細化(例如,用戶僅指示播放視頻)。因此,進一步細化的搜索結(jié)果可以被排隊,并且準備好在用戶指示對與布魯克林玻璃與商品公司相關(guān)聯(lián)的更精確的搜索結(jié)果的期望之前進行呈現(xiàn)。
基于對視頻408(或?qū)?yīng)于視頻408的圖像)的進一步選擇,呈現(xiàn)進一步細化的搜索結(jié)果(例如,與布魯克林玻璃與商品公司的夏季雞尾酒玻璃杯相關(guān)的項目),如圖4f所示。在一個實施例中,在可滾動的用戶界面中呈現(xiàn)進一步細化的搜索中顯示的項目。在其他實施例中,可以通過其他格式(例如網(wǎng)格形式、列表形式)顯示項目。顯示的項目可以包括例如銷售的產(chǎn)品以及食譜。
用戶可以滾動該進一步細化的搜索結(jié)果。例如,如果顯示器是在觸摸屏設(shè)備(例如,平板計算機)上,則用戶可以通過向上滑動來向上滾動該進一步細化的搜索結(jié)果。在該進一步細化的搜索結(jié)果的末尾,來自上一級的先前的搜索結(jié)果繼續(xù)示出。因此,隨著用戶繼續(xù)向上滾動,細化的布魯克林玻璃與商品公司的結(jié)果將被推出用戶界面,并且基于搜索字符串“summercocktailglasses(夏季雞尾酒玻璃杯)”的搜索結(jié)果被作為不斷滾動的用戶界面的一部分來呈現(xiàn),如圖4g所示。此外,搜索欄402示出了當(dāng)前搜索字符串。因此,搜索字符串已更改為指示“summercocktailglasses(夏季雞尾酒玻璃杯)”。如果用戶從該點開始向下滾動搜索結(jié)果,則將重新顯示針對“summercocktailglassesfrombrooklynglass&mercantileco(布魯克林玻璃與商品公司的夏季雞尾酒玻璃杯)”的細化搜索結(jié)果,并且搜索欄402相應(yīng)地改變。結(jié)果,由搜索引擎216提供了無限搜索結(jié)果頁面(srp)。因此,搜索引擎216知道您來自哪里(例如,搜索結(jié)果的先前級別),并將其附加到當(dāng)前級別的搜索結(jié)果的底部。這避免了使用后退按鈕,也不需要響應(yīng)于對后退按鈕的選擇而重新加載包含先前的搜索結(jié)果的頁面。將在下面詳細討論無限srp處理。
圖5是用于在搜索系統(tǒng)中提供動態(tài)搜索內(nèi)容的示例方法500的流程圖。在示例實施例中,搜索引擎216當(dāng)正在搜索框或欄中輸入搜索字符串時動態(tài)地執(zhí)行匹配,并且對搜索結(jié)果進行排隊以便呈現(xiàn)。用戶不需要為了獲得結(jié)而選擇“回車”鍵。因此,在操作502中檢測搜索字符串的輸入。查詢輸入模塊302基本上實時地(例如,檢測擊鍵、字符或數(shù)字)檢測正被輸入到搜索欄中的搜索字符串的輸入。
在操作504中,識別搜索字符串的關(guān)鍵字。在示例實施例中,查詢輸入模塊302當(dāng)每個關(guān)鍵字正被輸入到搜索欄中時對其識別。例如,一旦用戶輸入了搜索字符串的第一關(guān)鍵字,則查詢輸入模塊302檢測并識別該第一關(guān)鍵字(例如“summer(夏季)”)。在一個實施例中,查詢輸入模塊302基于關(guān)鍵字之后的空格來檢測第一關(guān)鍵字的輸入的完成。
然后該關(guān)鍵字被傳遞給匹配模塊304,在操作506中,在匹配模塊304中實時確定與關(guān)鍵字的匹配。在示例實施例中,匹配模塊304接收查詢輸入模塊302檢測到的關(guān)鍵字,并執(zhí)行匹配處理以導(dǎo)出與該關(guān)鍵字匹配的結(jié)果。作為結(jié)果,與該關(guān)鍵字匹配的匹配結(jié)果被確定,并且準備好呈現(xiàn)給用戶(例如排隊以遞送)。
在操作508中,確定搜索字符串中是否存在下一關(guān)鍵字。例如,查詢輸入模塊302確定是否為搜索字符串輸入了下一或后續(xù)的關(guān)鍵字。如果檢測到下一關(guān)鍵字,則該方法返回到操作504,由此在操作506中識別和使用該下一關(guān)鍵字(例如,“cocktail(雞尾酒)”),以細化先前的基于第一關(guān)鍵字的匹配結(jié)果。
該匹配過程繼續(xù)進行,直到來自搜索字符串的每個關(guān)鍵字都已涵蓋到匹配過程中。每個關(guān)鍵字的添加細化了先前的匹配結(jié)果。如此,匹配過程變得明顯更快,并且因為下一關(guān)鍵字與先前匹配結(jié)果的較小集合進行匹配,所以每次迭代需要較少的處理能力。
一旦檢測到?jīng)]有其他關(guān)鍵字(例如,搜索字符串的輸入完成),則在操作510中訪問搜索結(jié)果的最終匹配的圖像。因此,用戶接口模塊308從存儲發(fā)布信息的數(shù)據(jù)庫或存儲庫(例如,數(shù)據(jù)庫124)訪問圖像。圖像可以包括來自第三方或存儲庫的圖像、來自目錄的圖像、由各種實體通過成像引擎210上載的圖像、或這些圖像的任何組合。
在操作512中,使得搜索結(jié)果顯示在用戶的客戶端設(shè)備(例如,客戶端設(shè)備110)上。在示例實施例中,用戶界面模塊308向用戶的客戶端設(shè)備發(fā)送指令和數(shù)據(jù)(例如,圖像數(shù)據(jù))以呈現(xiàn)用戶界面,由此顯示搜索結(jié)果的圖像(例如,在搜索欄上方、下方或周圍)。應(yīng)當(dāng)注意,盡管提供搜索結(jié)果的視覺表示的圖像被論述為作為搜索結(jié)果進行顯示,但是備選實施例可以呈現(xiàn)其他形式的搜索結(jié)果。例如,搜索結(jié)果可以以列表格式(具有或不具有關(guān)聯(lián)圖像)進行提供。
現(xiàn)在參考圖6,示出了用于細化動態(tài)內(nèi)容的示例方法的流程圖。在示例實施例中,搜索引擎216可以基于用戶對當(dāng)前搜索結(jié)果的選擇來將另外的關(guān)鍵字附加到搜索字符串。例如當(dāng)用戶不知道特定項目叫什么、如何描述特定項目、或與特定項目相關(guān)聯(lián)的商店或組織的名稱時,這可能是有利的。相反,用戶可以使用描繪用戶感興趣的項目的圖像來細化更一般化的搜索。在一些實施例中,可以基于用戶已經(jīng)輸入搜索字符串并且已經(jīng)接收到基于輸入的搜索字符串的搜索結(jié)果來執(zhí)行方法600。搜索結(jié)果以圖像的形式來顯示,該圖像呈現(xiàn)特定搜索結(jié)果的視覺表示。備選地,可以基于用戶在顯示各種類別的圖像的主頁上(例如,如圖4a所示)來執(zhí)行方法600。
在操作602中,接收到對圖像之一的選擇。在示例實施例中,輸入查詢模塊302接收到對圖像的選擇,并訪問與所選圖像相關(guān)聯(lián)的元數(shù)據(jù)。
在操作604中,確定當(dāng)前搜索和所選圖像的級別。例如,可以進行所選圖像是否是寬類別圖像或者所選圖像是否是特定項目圖像的確定。要附加到搜索字符串的一個或多個關(guān)鍵字或者要返回的搜索結(jié)果取決于當(dāng)前搜索的級別。在一個實施例中,當(dāng)使得將所選圖像顯示給用戶時,該所選圖像被標(biāo)記以指示搜索中的當(dāng)前級別(例如,類別級別、子類別級別)。在該實施例中,根據(jù)標(biāo)簽確定搜索的級別。
在操作606中,一個或多個關(guān)鍵字被確定并附加到搜索字符串??梢愿鶕?jù)當(dāng)前搜索級別,從與所選圖像關(guān)聯(lián)的元數(shù)據(jù)中確定一個或多個關(guān)鍵字。例如,如果當(dāng)前搜索級別呈現(xiàn)針對“summercocktail(夏季雞尾酒)”的(類別)結(jié)果,并且用戶選擇了與potterybarn雞尾酒玻璃杯相對應(yīng)的圖像,要附加的關(guān)鍵字是“玻璃杯”。然而,如果當(dāng)前搜索級別呈現(xiàn)針對“summercocktailglasses(夏季雞尾酒玻璃杯)”的(子類別)結(jié)果,并且選擇了與potterybarn雞尾酒玻璃杯相對應(yīng)的同一圖像,則要附加的關(guān)鍵字可以是“potterybarn”,從而得到搜索字符串“summercocktailglassesfrompotterybarn(potterybarn的夏季雞尾酒玻璃杯)”。在另一例子中,如果當(dāng)前搜索級別基于搜索字符串“summercocktailglassesfrompotterybarn(potterybarn的夏季雞尾酒玻璃杯)”呈現(xiàn)potterybarn的店面,并且用戶選擇同一圖像,則可以附加來自potterybarn的圖像中描述的玻璃杯的類型(例如“classicmargar北a(經(jīng)典瑪格麗塔)”)。在示例實施例中,用戶界面模塊308使得一個或多個關(guān)鍵字被添加到搜索欄中顯示的搜索字符串。輸入查詢模塊302還將該一個或多個關(guān)鍵字提供給匹配模塊304。
在操作608中,匹配模塊304確定針對附加后的搜索字符串的匹配。因此,通過附加的關(guān)鍵字細化了先前的搜索結(jié)果,以獲得比先前的搜索更低的搜索級別的細化搜索結(jié)果。使用附加的關(guān)鍵字對先前的搜索結(jié)果進行細化是在用戶除選擇圖像之外沒有進行任何其他動作(例如,不需要“回車”鍵)的情況下執(zhí)行的。
在操作610中,訪問搜索結(jié)果的最終匹配的圖像。因此,用戶接口模塊308從存儲發(fā)布信息的數(shù)據(jù)庫或存儲庫(例如,數(shù)據(jù)庫124)訪問圖像。圖像可以包括來自第三方或存儲庫的圖像、來自目錄的圖像、由各種實體通過成像引擎210上載的圖像、或這些圖像的任何組合。
在操作612中,使得在用戶的用戶設(shè)備上顯示搜索結(jié)果。在示例實施例中,用戶界面模塊308向用戶的客戶端設(shè)備發(fā)送指令和數(shù)據(jù)(例如,圖像數(shù)據(jù))以呈現(xiàn)用戶界面,由此顯示搜索結(jié)果的圖像(例如,在搜索欄上方、下方或周圍)。
圖7是用于提供無限搜索結(jié)果頁面(srp)的示例方法700的流程圖。在示例實施例中,搜索引擎216通過將先前級別的搜索結(jié)果附加到當(dāng)前級別的搜索結(jié)果的底部或末尾來提供無限搜索結(jié)果頁面(srp)。該過程避免了使用后退按鈕,也不需要響應(yīng)于對后退按鈕的選擇而重新加載包含先前的搜索結(jié)果的頁面。方法700的操作由用戶界面模塊308執(zhí)行。
在操作702中,使得在用戶設(shè)備上呈現(xiàn)當(dāng)前級別的搜索結(jié)果(例如,針對“summercocktailglassesfromthebrooklynglass&mercantileco.(布魯克林玻璃與商品公司的夏季雞尾酒玻璃杯)”的搜索結(jié)果)。在示例實施例中,用戶界面模塊308通過向用戶的客戶端設(shè)備發(fā)送指令和數(shù)據(jù)來使得以圖形格式呈現(xiàn)搜索結(jié)果,以呈現(xiàn)這種可滾動的用戶界面。對于每個結(jié)果,搜索結(jié)果可以包括文本、圖像或兩者的組合。方法700假定:已經(jīng)執(zhí)行了至少一個初始搜索和對初始搜索的細化,并且使得要呈現(xiàn)的當(dāng)前級別的搜索結(jié)果是基于該細化的搜索結(jié)果。
在操作704中,檢測滾動指示。例如,用戶可以在顯示當(dāng)前級別的搜索結(jié)果的觸摸屏上向上滑動。作為響應(yīng),在操作706中,用戶界面模塊308使得搜索結(jié)果在滾動指示的方向上滾動。
在操作708中,確定是否到達當(dāng)前級別的搜索結(jié)果(例如,針對“summercocktailglassesfromthebrooklynglass&mercantileco.(布魯克林玻璃與商品公司的夏季雞尾酒玻璃杯)”的搜索結(jié)果)的末尾。如果未到達當(dāng)前級別的搜索結(jié)果的末尾,則用戶界面繼續(xù)監(jiān)視滾動指示,并且使得滾動搜索結(jié)果呈現(xiàn)在滾動指示的方向上。
然而,如果到達當(dāng)前級別的搜索結(jié)果的末尾,則用戶界面模塊308將先前級別的搜索結(jié)果(例如,針對“summercocktailglasses(夏季雞尾酒玻璃杯)”的搜索結(jié)果)附加到當(dāng)前級別的搜索結(jié)果的底部或末尾。因此,搜索引擎216了解當(dāng)前級別的搜索結(jié)果中的所有項目之間關(guān)于整個總搜索結(jié)果的關(guān)系。如果當(dāng)前級別(例如,運動-運動類別-棒球)的搜索結(jié)果到達末尾,則用戶界面模塊308將搜索結(jié)果返回到先前級別(例如,運動-運動類別)。
先前的搜索結(jié)果的附加不需要提供新頁面來呈現(xiàn)先前的搜索結(jié)果。相反,先前的搜索結(jié)果是從高速緩存中檢索的,并被添加到當(dāng)前搜索結(jié)果的末尾,因此利用了高速緩存的體驗并降低了處理要求。
圖8是示出了根據(jù)一些示例實施例的能夠從機器可讀介質(zhì)822(例如非臨時機器可讀機制、機器可讀存儲介質(zhì)、計算機可讀存儲介質(zhì)或其任意適當(dāng)組合)讀取指令824并完全或部分執(zhí)行此處討論的方法中的任意一個或多個的機器800的組件。具體地,圖8示出了計算機系統(tǒng)(例如計算機)的示例形式的機器800,其中,可以完全或部分執(zhí)行用于使機器800執(zhí)行此處討論的方法中的任意一個或多個的指令824(例如軟件、程序、應(yīng)用、小程序、app或其他可執(zhí)行代碼)。
在備選實施例中,機器800作為獨立設(shè)備操作或者可以連接至(例如聯(lián)網(wǎng))到其他機器。在聯(lián)網(wǎng)部署中,機器800可以在服務(wù)器-客戶端網(wǎng)絡(luò)環(huán)境中以服務(wù)器機器或客戶端機器的能力進行操作,或者在對等(或分布式)網(wǎng)絡(luò)環(huán)境中作為對等機器進行操作。機器800可以是服務(wù)器計算機、客戶端計算機、個人計算機(pc)、平板計算機、膝上型計算機、上網(wǎng)本、機頂盒(stb)、個人數(shù)字助理(pda)、蜂窩電話、智能電話、web設(shè)備、網(wǎng)絡(luò)路由器、網(wǎng)絡(luò)交換機、網(wǎng)橋或者能夠順序地或以其他方式執(zhí)行指定了要由該機器采取的動作的指令824的任何機器。此外,雖然僅示出了單個機器,但是術(shù)語“機器”還應(yīng)視為包括獨立地或聯(lián)合地執(zhí)行指令824以執(zhí)行本文討論的方法中的任意一個或多個方法的機器的集合。
機器800包括被配置為彼此經(jīng)由總線808通信的處理器802(例如中央處理單元(cpu)、圖形處理單元(gpu)、數(shù)字信號處理器(dsp)、專用集成電路(asic)、射頻集成電路(rfic)、或其任意適當(dāng)組合)、主存儲器804和靜態(tài)存儲器806。處理器802可以包含微電路,可由指令824中的一些或全部臨時或永久配置,使得處理器802可被配置為完全或部分執(zhí)行本文描述的一個或多個方法中的任意一個或多個。例如,處理器802的一個或多個微電路的集合可被配置為執(zhí)行本文描述的一個或多個模塊(例如軟件模塊)。
機器800還可以包括圖形顯示器810(例如等離子顯示面板(pdp)、發(fā)光二極管(led)顯示器、液晶顯示器(lcd)、投影儀、陰極射線管(crt)或能夠顯示圖形或視頻的任何其他顯示器)。機器800還可以包括字母數(shù)字輸入設(shè)備812(例如鍵盤或鍵區(qū))、光標(biāo)控制設(shè)備814(例如鼠標(biāo)、觸摸板、軌跡球、操縱桿、運動傳感器、眼動跟蹤設(shè)備或其他定位儀器)、存儲單元816、信號產(chǎn)生設(shè)備818(例如聲卡、放大器、揚聲器、耳機插座或其任意適當(dāng)組合)以及網(wǎng)絡(luò)接口設(shè)備820。
存儲單元816包括其中存儲有指令824的機器可讀介質(zhì)822(例如有形且非瞬態(tài)機器可讀存儲介質(zhì)),所述指令824實現(xiàn)本文描述的方法或功能中的任意一個或多個。指令824還可以在機器800執(zhí)行之前或期間完全或至少部分駐留在主存儲器804內(nèi)、處理器802內(nèi)(例如處理器的高速緩存內(nèi))或兩者內(nèi)。因此,主存儲器804和處理器802可以視為機器可讀介質(zhì)(例如有形和非瞬態(tài)機器可讀介質(zhì))。
在一些示例實施例中,機器800可以是便攜式計算設(shè)備(例如智能電話或平板計算機),并且具有一個或多個附加輸入組件(例如傳感器或儀表)。這樣的輸入組件的示例包括圖像輸入組件(例如一個或多個攝像機)、音頻輸入組件(例如麥克風(fēng))、方向輸入組件(例如羅盤)、位置輸入組件(例如全球定位系統(tǒng)(gps)接收器)、取向組件(例如陀螺儀)、運動檢測組件(例如一個或多個加速度計)、高度檢測組件(例如高度計)、以及氣體檢測組件(例如氣體傳感器)。這些輸入組件中的任意一個或多個獲得的輸入可訪問和可用于被此處描述的任一模塊使用。
如本文所使用的,術(shù)語“存儲器”指能夠臨時或永久地存儲數(shù)據(jù)的機器可讀介質(zhì),并且可看作包括但不限隨機存取存儲器(ram)、只讀存儲器(rom)、緩沖存儲器、閃存以及高速緩存存儲器。盡管機器可讀介質(zhì)822在示例實施例中被示為單個介質(zhì),但是術(shù)語“機器可讀介質(zhì)”應(yīng)看作包括能夠存儲指令的單個介質(zhì)或多個介質(zhì)(例如,集中式或分布式數(shù)據(jù)庫,或相關(guān)聯(lián)的高速緩存和服務(wù)器)。術(shù)語“機器可讀介質(zhì)”還應(yīng)看作包括任何能夠存儲指令的介質(zhì)或多個介質(zhì)的組合,所述指令供機器(例如,機器800)執(zhí)行,使得當(dāng)指令被機器的一個或多個處理器(例如處理器802)執(zhí)行時使機器執(zhí)行此處描述的方法中的任意一個或多個。因此,“機器可讀介質(zhì)”指單個存儲裝置或設(shè)備、以及包括多個存儲裝置或設(shè)備的“基于云”的存儲系統(tǒng)或存儲網(wǎng)絡(luò)。因此,術(shù)語“機器可讀機制”應(yīng)看作包括但不限于采取固態(tài)存儲器、光學(xué)介質(zhì)、磁介質(zhì)或其任意適當(dāng)組合的形式的一個或多個數(shù)據(jù)倉庫。
此外,有形機器可讀介質(zhì)是非瞬時的,體現(xiàn)在其不實現(xiàn)傳播信號。然而,標(biāo)記的有形的機器可讀介質(zhì)作為“非臨時性的”不應(yīng)被解釋為意味著介質(zhì)不能移動-介質(zhì)應(yīng)被視為可以從一個物理位置移動到另一個。此外,由于機器可讀介質(zhì)是有形的,所以所述介質(zhì)可被認為是機器可讀設(shè)備。
指令824還可以使用傳輸介質(zhì)在通信網(wǎng)絡(luò)826上經(jīng)由網(wǎng)絡(luò)接口設(shè)備820并利用多個已知傳輸協(xié)議中的任意一個(例如http)來發(fā)送或接收。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)(lan)、廣域網(wǎng)(wan)、互聯(lián)網(wǎng)、移動電話網(wǎng)絡(luò)、簡易老式電話(pots)網(wǎng)絡(luò)以及無線數(shù)據(jù)網(wǎng)絡(luò)(例如wifi和wimax網(wǎng)絡(luò))。術(shù)語“傳輸介質(zhì)”應(yīng)當(dāng)被視為包括能夠存儲、編碼或承載用于由機器執(zhí)行的指令的任何無形介質(zhì),并且包括數(shù)字或模擬通信信號或其它無形介質(zhì),以促進這種軟件的通信。
在該說明書中,復(fù)數(shù)實例可以實現(xiàn)被描述為單數(shù)實例的組件、操作或結(jié)構(gòu)。雖然一個或多個方法的各個操作被示意和描述為分離的操作,但是各個操作中的一個或多個可以同時執(zhí)行,并且無需按所示順序執(zhí)行操作。在示例配置中被示為分離組件的結(jié)構(gòu)和功能可以被實現(xiàn)為組合結(jié)構(gòu)或組件。類似地,被示為單個組件的結(jié)構(gòu)和功能可以被實現(xiàn)為分離的組件。這些和其他變型、修改、添加和改進落入本主題的范圍內(nèi)。
某些實施例在本文中被描述為包括邏輯或多個組件、模塊或機制。模塊可以構(gòu)成軟件模塊(例如在機器可讀介質(zhì)上或在傳輸信號中體現(xiàn)的代碼)或硬件模塊?!坝布K”是能夠執(zhí)行某些操作的有形單元,并且可以按照某種物理方式配置或布置。在各種示例實施例中,一個或多個計算機系統(tǒng)(例如獨立的計算機系統(tǒng)、客戶端計算機系統(tǒng)或服務(wù)器計算機系統(tǒng))或者計算機系統(tǒng)的一個或多個硬件模塊(例如處理器或處理器組)可由元件(例如應(yīng)用或應(yīng)用部分)配置為操作為執(zhí)行本文描述的特定操作的硬件模塊。
在一些實施例中,硬件模塊可以按照機械方式、電子方式或其任意適當(dāng)組合來實現(xiàn)。例如,硬件模塊可以包括永久地被配置為執(zhí)行特定操作的專用電路或邏輯。例如,硬件模塊可以是專用處理器,如現(xiàn)場可編程門陣列(fpga)或asic。硬件模塊還可以包括由軟件臨時配置為執(zhí)行特定操作的可編程邏輯或電路。例如,硬件模塊可以包括通用處理器或其他可編程處理器中包含的軟件。應(yīng)理解:以機械方式、以專用和永久配置的電路或以臨時配置的電路(例如由軟件配置)實現(xiàn)硬件模塊的決定可出于成本和時間的考慮。
因此,短語“硬件模塊”應(yīng)理解為涵蓋有形實體,是在物理上構(gòu)造、永久配置(例如硬線連接)或臨時配置(例如編程)為以特定方式操作或執(zhí)行本文描述的特定操作的實體。如本文所使用的,“硬件實現(xiàn)的模塊”指硬件模塊。考慮臨時配置(例如編程)硬件模塊的實施例,無需在任一時刻配置或?qū)嵗布K中的每一個。例如,如果硬件模塊包括被軟件配置成為專用處理器的通用處理器,則通用處理器可以在不同時刻被配置為分別不同的專用處理器(例如包括不同的硬件模塊)。因此,軟件可以將處理器例如配置為在一個時刻構(gòu)成特定硬件模塊并在另一時刻構(gòu)成不同的硬件模塊。
硬件模塊可以向其他硬件模塊提供信息并從其他硬件模塊接收信息。因此,所描述的硬件模塊可以被看作通信地耦合。如果同時存在多個硬件模塊,則可以通過兩個或更多個硬件模塊之間的信號傳輸(例如通過適當(dāng)?shù)碾娐泛涂偩€)實現(xiàn)通信。在多個硬件模塊在不同時間配置或?qū)嵗膶嵤├校梢岳缤ㄟ^存儲并獲取多個硬件模塊可訪問的存儲器結(jié)構(gòu)中的信息來實現(xiàn)這樣的硬件模塊之間的通信。例如,一個硬件模塊可以執(zhí)行操作并在與其通信耦合的存儲設(shè)備中存儲該操作的輸出。另一硬件模塊接著可以稍后訪問存儲器設(shè)備,以取得并處理所存儲的輸出。硬件模塊還可以發(fā)起與輸入或輸出設(shè)備的通信,并且能夠?qū)Y源(例如信息的集合)進行操作。
此處描述的示例方法的各種操作可以至少部分地由臨時配置(例如通過軟件)或永久配置為執(zhí)行相關(guān)操作的一個或多個處理器執(zhí)行。無論臨時還是永久配置,這樣的處理器可以構(gòu)成操作為執(zhí)行本文描述的一個或多個操作或功能的處理器實現(xiàn)的模塊。如本文所使用的,“處理器實現(xiàn)的模塊”指使用一個或多個處理器實現(xiàn)的硬件模塊。
類似地,本文描述的方法可以至少部分是處理器實現(xiàn)的,處理器是硬件的示例。例如,方法的至少一些操作可由一個或多個處理器或處理器實現(xiàn)的模塊執(zhí)行。此外,一個或多個處理器還可操作以支持在“云計算”環(huán)境中或作為“軟件即服務(wù)”(saas)執(zhí)行有關(guān)操作。例如,操作中的至少一些可由計算機(作為包括處理器的機器的示例)組執(zhí)行,這些操作可經(jīng)由網(wǎng)絡(luò)(例如互聯(lián)網(wǎng))并經(jīng)由一個或多個適當(dāng)接口(例如應(yīng)用程序接口(api))來訪問。
某些操作的執(zhí)行可以分布在一個或多個處理器中,并不只駐留在單個機器中,而是布置在多個機器中。在一些示例實施例中,一個或多個處理器或處理器實現(xiàn)的模塊可以位于單個地理位置(例如在家庭環(huán)境、辦公室環(huán)境或服務(wù)器群中)。在其他示例實施例中,一個或多個處理器或處理器實現(xiàn)的模塊可以分布在多個地理位置。
本文討論的主題的一些部分可以用算法或?qū)?shù)據(jù)的操作的符號表示來呈現(xiàn),所述數(shù)據(jù)存儲為機器存儲器(例如計算機存儲器)內(nèi)的比特或二進制數(shù)字信號。這樣的算法或符號表示是數(shù)據(jù)處理技術(shù)領(lǐng)域普通技術(shù)人員用來向本領(lǐng)域其他技術(shù)人員傳達他們工作實質(zhì)的技術(shù)的示例。如本文所使用的,“算法”是操作的自洽序列或?qū)е缕谕Y(jié)果的類似處理。在該上下文中,算法和操作涉及對物理量的物理操作。通常但非必要地,這樣的量可以采取能夠由機器存儲、訪問、傳輸、組合、比較或以其他方式操縱的電氣、磁或光學(xué)信號的形式。有時,主要由于常見用法的原因,使用諸如“數(shù)據(jù)”、“內(nèi)容”、“比特”、“值”、“元素”、“符號”、“字符”、“項”、“數(shù)”、“數(shù)字”等詞語來指代這樣的信號是方便的。然而,這些詞語僅僅是方便的標(biāo)記,并且應(yīng)與適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián)。
除非另行具體說明,本文使用例如“處理”、“計算”、“運算”、“確定”、“呈現(xiàn)”、“顯示”等詞語的討論可以指操縱或變換被表示為一個或多個存儲器(例如易失性存儲器、非易失性存儲器或其任意組合)、寄存器或接收、存儲、發(fā)送或顯示信息的其他機器組件內(nèi)的物理(例如電子、磁或光學(xué))量的數(shù)據(jù)的機器(例如計算機)的動作或過程。此外,除非另行具體說明,如專利文獻中常見的,本文中的術(shù)語“一”或“一個”用于包括一個或多于一個實例。最后,如本文所使用的,除非特別說明,連詞“或”指非排他的“或”。
下面的編號示例是實施例。
1.一種承載指令的機器可讀介質(zhì),所述指令當(dāng)由機器的至少一個處理器執(zhí)行時使得所述機器執(zhí)行包括以下各項的操作:
使得在客戶端設(shè)備上顯示的搜索結(jié)果頁面上呈現(xiàn)搜索的當(dāng)前級別的搜索結(jié)果;
檢測向所述當(dāng)前級別的搜索結(jié)果的呈現(xiàn)施加的滾動指示;
使得基于所述滾動指示的方向,滾動所述當(dāng)前級別的搜索結(jié)果的呈現(xiàn);
確定響應(yīng)于所述滾動已經(jīng)到達所述當(dāng)前級別的搜索結(jié)果的呈現(xiàn)的末尾;以及
將先前級別的搜索結(jié)果附加到所述當(dāng)前級別的搜索結(jié)果的呈現(xiàn)的末尾,以引起搜索結(jié)果頁面的連續(xù)呈現(xiàn)。
2.根據(jù)示例1所述的機器可讀介質(zhì),其中,附加所述先前級別的搜索結(jié)果是在沒有用戶交互的情況下發(fā)生的。
3.根據(jù)示例1或示例2所述的機器可讀介質(zhì),其中,附加所述先前級別的搜索結(jié)果包括訪問存儲所述先前級別的搜索結(jié)果的高速緩存。
4.根據(jù)示例1到3中任一項所述的機器可讀介質(zhì),其中,附加所述先前級別的搜索結(jié)果是在不需要重新加載搜索結(jié)果頁面的情況下發(fā)生的。
5.根據(jù)示例1到4中任一項所述的機器可讀介質(zhì),其中,所述操作還包括:響應(yīng)于附加所述先前級別的搜索結(jié)果,更新搜索欄中的搜索項以對應(yīng)于所述先前級別的搜索結(jié)果。
6.根據(jù)示例1到5中任一項所述的機器可讀介質(zhì),其中,所述操作還包括:
在引起所述先前級別的附加搜索結(jié)果的呈現(xiàn)的同時,接收在與所述滾動指示的方向相反的方向上的另一滾動指示;以及
基于相反方向上的所述另一滾動指示,引起所述當(dāng)前級別的搜索結(jié)果的重新顯示。
7.根據(jù)示例6所述的機器可讀介質(zhì),其中,所述操作還包括:更新搜索欄中的搜索項,以對應(yīng)于所述當(dāng)前級別的搜索結(jié)果。
8.一種計算機實現(xiàn)的方法,包括:
使得在客戶端設(shè)備上顯示的搜索結(jié)果頁面上呈現(xiàn)搜索的當(dāng)前級別的搜索結(jié)果;
檢測向所述當(dāng)前級別的搜索結(jié)果的呈現(xiàn)施加的滾動指示;
使得基于所述滾動指示的方向,滾動所述當(dāng)前級別的搜索結(jié)果的呈現(xiàn);
確定響應(yīng)于所述滾動已經(jīng)到達所述當(dāng)前級別的搜索結(jié)果的呈現(xiàn)的末尾;以及
通過硬件處理器將先前級別的搜索結(jié)果附加到所述當(dāng)前級別的搜索結(jié)果的呈現(xiàn)的末尾,以引起搜索結(jié)果頁面的連續(xù)呈現(xiàn)。
9.根據(jù)示例8所述的方法,其中,附加所述先前級別的搜索結(jié)果是在沒有用戶交互的情況下發(fā)生的。
10.根據(jù)示例8或示例9所述的方法,其中,其中,附加所述先前級別的搜索結(jié)果包括訪問存儲所述先前級別的搜索結(jié)果的高速緩存。
11.根據(jù)示例8到10中任一項所述的方法,其中,其中,附加所述先前級別的搜索結(jié)果是在不需要重新加載搜索結(jié)果頁面的情況下發(fā)生的。
12.根據(jù)示例8到11中任一項所述的方法,還包括:響應(yīng)于附加所述先前級別的搜索結(jié)果,更新搜索欄中的搜索項以對應(yīng)于所述先前級別的搜索結(jié)果。
13.根據(jù)示例8到12中任一項所述的方法,還包括:
在引起所述先前級別的附加搜索結(jié)果的呈現(xiàn)的同時,接收在與所述滾動指示的方向相反的方向上的另一滾動指示;以及
基于相反方向上的所述另一滾動指示,引起所述當(dāng)前級別的搜索結(jié)果的重新顯示。
14.根據(jù)示例13所述的方法,還包括:更新搜索欄中的搜索項,以對應(yīng)于所述當(dāng)前級別的搜索結(jié)果。
15.一種系統(tǒng),包括:
用戶界面模塊,包括一個或多個硬件處理器,并且配置為:
使得在客戶端設(shè)備上顯示的搜索結(jié)果頁面上呈現(xiàn)搜索的當(dāng)前級別的搜索結(jié)果;
檢測向所述當(dāng)前級別的搜索結(jié)果的呈現(xiàn)施加的滾動指示;
使得基于所述滾動指示的方向,滾動所述當(dāng)前級別的搜索結(jié)果的呈現(xiàn);
確定響應(yīng)于所述滾動已經(jīng)到達所述當(dāng)前級別的搜索結(jié)果的呈現(xiàn)的末尾;以及
將先前級別的搜索結(jié)果附加到所述當(dāng)前級別的搜索結(jié)果的呈現(xiàn)的末尾,以引起搜索結(jié)果頁面的連續(xù)呈現(xiàn)。
16.根據(jù)示例15所述的系統(tǒng),其中,所述用戶界面模塊在沒有用戶交互的情況下附加所述先前級別的搜索結(jié)果。
17.根據(jù)示例15或示例16所述的系統(tǒng),其中,所述用戶界面模塊通過訪問存儲所述先前級別的搜索結(jié)果的高速緩存來附加所述先前級別的搜索結(jié)果。
18.根據(jù)示例15到17中任一項所述的系統(tǒng),其中,所述用戶界面模塊在不需要重新加載搜索結(jié)果頁面的情況附加所述先前級別的搜索結(jié)果。
19.根據(jù)示例15到18中任一項所述的系統(tǒng),其中,所述用戶界面模塊還配置為:響應(yīng)于附加所述先前級別的搜索結(jié)果,更新搜索欄中的搜索項以對應(yīng)于所述先前級別的搜索結(jié)果。
20.根據(jù)示例15至19中任一項所述的系統(tǒng),其中,所述用戶界面模塊還配置為:
在引起所述先前級別的附加搜索結(jié)果的呈現(xiàn)的同時,接收在與所述滾動指示的方向相反的方向上的另一滾動指示;以及
基于相反方向上的所述另一滾動指示,引起所述當(dāng)前級別的搜索結(jié)果的重新顯示。
盡管已經(jīng)參照特定示例實施例描述了本發(fā)明主題的概述,但是在不偏離本發(fā)明實施例的更寬的范圍的情況下可以對這些實施例做出各種修改和改變。本文中,本發(fā)明主題的這些實施例單獨地或統(tǒng)一地由術(shù)語“發(fā)明”來指代,其僅是為了方便,并且不是旨在主動將本申請的范圍限制為任意單個發(fā)明或發(fā)明構(gòu)思(如果實際上不止一個被公開的話)。
本文充分詳細地描述了示出的實施例以使得本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)公開的教導(dǎo)。可以利用并根據(jù)這些實施例得出其他實施例,從而可以在不脫離本公開的范圍的情況下做出結(jié)構(gòu)和邏輯上的替換和改變。因此,該“具體實施方式”不應(yīng)當(dāng)看做是限制意義,并且各種實施例的范圍僅通過所附權(quán)利要求以及權(quán)利要求的等同物的全部范圍來限定。
如本文所使用的,術(shù)語“或”可以被解釋為包括性或排他性的意義。此外,可以針對本文中描述為單個實例的資源、操作或結(jié)構(gòu)提供多個實例。另外,各種資源、操作、模塊、引擎和數(shù)據(jù)存儲之間的邊界在某種程度上是任何的,并且在具體說明性配置的上下文中示出了特定操作。對功能的其他分配是可以預(yù)想到的,并且可以落入本發(fā)明各種實施例的范圍內(nèi)。一般來說,在示例配置中作為單獨資源呈現(xiàn)的結(jié)構(gòu)和功能可以被實現(xiàn)為組合的結(jié)構(gòu)或資源。類似地,作為單個資源呈現(xiàn)的結(jié)構(gòu)和功能可以被實現(xiàn)為單獨的資源。這些及其他的變型、修改、添加和改進落入如由所附權(quán)利要求表示的本發(fā)明的實施例的范圍內(nèi)。因此,說明書和附圖應(yīng)當(dāng)被看做說明性的而不是限制意義的。