專利名稱:用于搜索網(wǎng)絡(luò)的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明的技術(shù)領(lǐng)域總體上涉及計算機相關(guān)的信息搜索和檢索,并且更具體而言,本發(fā)明涉及用于搜索基于網(wǎng)絡(luò)的內(nèi)容的健壯的系統(tǒng)和方法。
下面介紹理解本發(fā)明的背景。用戶可獲得的過量的多媒體和流式傳輸媒體文件是對于因特網(wǎng)(也稱作萬維網(wǎng)或者web)的普及有貢獻的一個方面。不過,找到隱藏在web上的數(shù)百萬文件中的特定多媒體或者流式傳輸媒體文件通常是極其困難的任務(wù)。在web上可獲得的信息內(nèi)容的量和種類可能繼續(xù)以相當(dāng)快的速度增加。與web的高度分散特性組合的這一增加在定位特定信息內(nèi)容中產(chǎn)生了困難。
流式傳輸媒體指被經(jīng)由因特網(wǎng)或者其它網(wǎng)絡(luò)環(huán)境遞送到用戶計算機并且在整個文件的遞送被完成之前就開始在用戶計算機上播放的音頻、視頻、多媒體、文本和交互式數(shù)據(jù)文件。流式傳輸媒體的一個優(yōu)點是流式傳輸媒體文件在整個文件被下載之前就開始播放,從而為用戶節(jié)省了通常與下載整個文件相關(guān)聯(lián)的長等待時間。數(shù)字記錄的音樂、電影、預(yù)告片、新聞報道、無線電廣播和實況事件都對于web上的流式傳輸內(nèi)容的增加有貢獻。此外,諸如電纜、DSL和T1的不太貴的高帶寬連接正在為因特網(wǎng)用戶提供對于來自新聞組織、好萊塢攝影棚、獨立制片人、記錄單以及甚至家庭用戶的流式傳輸媒體內(nèi)容的更迅速、更可靠的訪問。
用戶通常通過搜索引擎來搜索因特網(wǎng)上的特定信息。一個搜索引擎包括一組可以在諸如局域網(wǎng)(LAN)的網(wǎng)絡(luò)或因特網(wǎng)以及萬維網(wǎng)中的一個網(wǎng)站訪問的程序。稱作“機器人”或者“蜘蛛”的一個程序在搜索文檔(例如網(wǎng)頁)和其它程序中預(yù)先遍歷一個網(wǎng)絡(luò),并且建立在文檔中發(fā)現(xiàn)的關(guān)鍵字的大索引文件。典型地,用戶明確表達一個包括一個或多個搜索項的查詢,并且將該查詢提交給搜索引擎的另一個程序。在響應(yīng)中,搜索引擎檢查其本身的索引文件并且顯示一個與所述搜索查詢相匹配的文檔列表,通常作為超級鏈接。然后,用戶可以激活超級鏈接之一以便看到包含在文檔中的信息。
不過,傳統(tǒng)的搜索引擎有缺點。例如,許多典型的搜索引擎被用于只發(fā)現(xiàn)文本信息。特別是,它們不適合用于包含在結(jié)構(gòu)化數(shù)據(jù)庫(例如關(guān)系數(shù)據(jù)庫)中的索引信息、話音相關(guān)的信息、音頻相關(guān)的信息、多媒體和流式傳輸媒體等。而且,混合來自不兼容數(shù)據(jù)源的數(shù)據(jù)對于傳統(tǒng)的搜索引擎是困難的。
此外,許多傳統(tǒng)的搜索引擎系統(tǒng)既不夠健壯也不足夠可升級來為用戶提供搜索結(jié)果,并且不管搜索結(jié)果而迅速更新其數(shù)據(jù)庫。許多搜索引擎系統(tǒng)包括駐留在特定處理器上的軟件單元,其中軟件單元不是可移植的。也就是說,軟件單元不能被根據(jù)需要而下載到另一個處理器上。而且,許多軟件單元都是提供商特定的,其中搜索引擎系統(tǒng)不能容納另一個提供商的提供類似功能的軟件。在軟件單元可以安裝在幾個處理器上來并行處理大量數(shù)據(jù)的情況下,許多系統(tǒng)是不可升級的,這是因為所使用的處理器的數(shù)量不能被根據(jù)需要而增加或者減少。因此,需要一種沒有上述缺陷和缺點的搜索系統(tǒng)。
本發(fā)明描述了一種用于為了基于網(wǎng)絡(luò)的涉及搜索查詢的內(nèi)容而搜索網(wǎng)絡(luò)的系統(tǒng),它包括用于格式化一個搜索查詢的適配器。所述系統(tǒng)還包括一個含有先前的搜索結(jié)果的第一數(shù)據(jù)庫以及用于存儲當(dāng)前搜索結(jié)果的第二數(shù)據(jù)庫。還包括至少一個搜索引擎,用于為了涉及搜索查詢的內(nèi)容而搜索搜索引擎內(nèi)在的數(shù)據(jù)庫,還包括一個搜索處理器。搜索處理器調(diào)整第一數(shù)據(jù)庫的搜索和所述至少一個搜索引擎,并且將已格式化的搜索查詢提供給所述至少一個搜索引擎。搜索處理器還提供和接收搜索結(jié)果去往和來自第一數(shù)據(jù)庫和第二數(shù)據(jù)庫,并且將搜索結(jié)果提供給適配器。
一種用于為了基于網(wǎng)絡(luò)的涉及搜索查詢的內(nèi)容而搜索網(wǎng)絡(luò)的方法包括接收搜索查詢、格式化搜索查詢以及為了基于網(wǎng)絡(luò)的涉及搜索查詢的內(nèi)容而搜索數(shù)據(jù)庫。所述數(shù)據(jù)庫包括先前的搜索結(jié)果。如果在數(shù)據(jù)庫中沒有找到基于網(wǎng)絡(luò)的涉及搜索查詢的內(nèi)容,則已格式化的搜索查詢被提供給至少一個搜索引擎。搜索結(jié)果被從數(shù)據(jù)庫或者至少一個搜索引擎中檢索,并且檢索到的搜索結(jié)果被格式化。
圖1是互連計算機系統(tǒng)網(wǎng)絡(luò)的系統(tǒng)的程式化示意圖;圖2是根據(jù)本發(fā)明的搜索系統(tǒng)的功能框圖;圖3是根據(jù)本發(fā)明的包括多個搜索處理器的搜索系統(tǒng)的功能框圖;以及圖4是根據(jù)本發(fā)明用于搜索基于網(wǎng)絡(luò)的內(nèi)容的方法的流程圖。
因特網(wǎng)是世界范圍內(nèi)的計算機網(wǎng)絡(luò)系統(tǒng),也就是其中一個計算機的用戶能夠從任何其它計算機獲取信息并且與其它計算機的用戶通信的一組網(wǎng)絡(luò)。因特網(wǎng)最被廣泛使用的部分是萬維網(wǎng)(通??s寫為“WWW”或者稱作“web”)。web的一個顯著特征是其對于超文本的使用,它是交叉參考的方法。在大多數(shù)網(wǎng)站中,某些字或者短語以不同于周圍文本的顏色而出現(xiàn)。這個文本通常還被加上下劃線。有時候,有“可點擊”的按鈕、圖像或者圖像的部分。使用web提供對于成百萬頁信息的訪問。利用諸如NETSCAPE NAVIGATOR和MICROSOFT INTERNETEXPLORERE的web瀏覽器進行web“沖浪”。一個特定網(wǎng)站的外觀會依賴于所使用的特定瀏覽器而稍微變化。最近的瀏覽器的版本具有提供動畫、虛擬現(xiàn)實、聲音和音樂的“插件程序”。
本發(fā)明是一種系統(tǒng)和方法,用于在計算機網(wǎng)絡(luò)上通過使用元數(shù)據(jù)的搜索系統(tǒng)來檢索基于網(wǎng)絡(luò)的內(nèi)容,包括媒體文件和涉及媒體文件的數(shù)據(jù)。如這里所使用的,術(shù)語“媒體文件”包括音頻、視頻、文本、多媒體數(shù)據(jù)文件和流式傳輸媒體文件。多媒體文件包括文本、圖像、視頻和音頻數(shù)據(jù)的任何組合。流式傳輸媒體包括音頻、視頻、多媒體、文本和交互式數(shù)據(jù)文件,它們被通過因特網(wǎng)或其它通信網(wǎng)遞送到用戶計算機并且在整個文件的遞送被完成之前就開始在用戶計算機/設(shè)備上播放。流式傳輸媒體的一個優(yōu)點是流式傳輸媒體文件在整個文件被下載之前就開始播放,為用戶節(jié)省了通常與下載整個文件相關(guān)的長等待時間。數(shù)字記錄的音樂、電影、預(yù)告片、新聞報道、無線電廣播和實況事件都對于web上的流式傳輸內(nèi)容中的增加有貢獻。此外,通過使用諸如電纜、DSL、T1線路的高帶寬連接和無線網(wǎng)絡(luò)(例如基于2.5G或者3G的蜂窩網(wǎng)絡(luò))減少通信網(wǎng)絡(luò)的成本為用戶提供對于來自新聞組織、好萊塢攝影棚、獨立制片人、記錄單以及甚至家庭用戶本身的流式傳輸媒體內(nèi)容的更快、更可靠的訪問。
流式傳輸媒體的例子包括歌曲、政治演講、新聞廣播、電影預(yù)告片、實況廣播、無線電廣播、金融會議呼叫、實況音樂會、web-cam電影膠片以及其它特殊事件。流式傳輸媒體被以各種格式編碼,包括REALAUDIO、REALVIDEO、,REALMEDIA、,APPLE QUICKTIME、MICROSOFT WINDOWSMEDIA FORMAT、QUICKTIME、MPEG-2 LAYER IIIAUDIO以及MP3。典型地,媒體文件被利用表示與特殊格式的兼容性的擴展名(后綴)來設(shè)計。例如,以擴展名.ram、.rm、rpm之一結(jié)尾的媒體文件(例如音頻和視頻文件)與REALMEDIA格式兼容。下表中列出了文件擴展名及其兼容格式的一些例子??梢栽趆ttp//www.bowers.cc/extensions 2.htm上找到媒體類型、擴展名和兼容格式的更詳盡的列表。
表1
作為描述數(shù)據(jù)的元數(shù)據(jù)字面上指“關(guān)于數(shù)據(jù)的數(shù)據(jù)”。元數(shù)據(jù)是包括描述其它數(shù)據(jù)(例如媒體文件)的內(nèi)容或者屬性的信息的數(shù)據(jù)。例如,題為“Dublin Core Metadata for Resource Discovery(用于資源發(fā)現(xiàn)的都柏林核心元數(shù)據(jù))”(http//www.ietf.org/rfc/rfc2413.txt)的文檔將元數(shù)據(jù)分成三組,其概略表示包含在其中的信息的類型或范圍。這三組是(1)主要涉及資源內(nèi)容的元素,(2)主要涉及當(dāng)被看作智力屬性時的資源的元素,以及(3)主要涉及資源實例化的元素。屬于這三組的元數(shù)據(jù)的例子在下表中列出。
表2
元數(shù)據(jù)的資源包括網(wǎng)頁內(nèi)容、統(tǒng)一資源定位符(URL)、媒體文件和用于傳輸媒體文件的傳送流。網(wǎng)頁內(nèi)容包括HTML、XML、元標(biāo)簽和網(wǎng)頁上的其它文本。如這里更詳細描述的,元數(shù)據(jù)還可以被從URL、網(wǎng)頁、媒體文件和其它元數(shù)據(jù)獲得。媒體文件中的元數(shù)據(jù)可以包括在媒體文件中包含的信息,如在多媒體或者流式傳輸文件的標(biāo)題或者尾部中包含的信息。元數(shù)據(jù)還可以被從媒體/元數(shù)據(jù)傳送流中獲得,所述傳送流是諸如TCP/IP(例如分組)、ATM、幀中繼、基于蜂窩的傳送方案(例如基于蜂窩的電話方案)、MPEG傳送、HDTV廣播和基于無線的傳送。元數(shù)據(jù)還可以被在一個流中并行地或者作為用于傳輸媒體文件的流的一部分而傳輸(一個高清晰度電視廣播被在一個流中傳輸,以電子節(jié)目向?qū)问降脑獢?shù)據(jù)被在第二個流上傳輸)。
參見圖1,其中示出了互連計算機系統(tǒng)網(wǎng)絡(luò)102和112的系統(tǒng)100的程式化概述。每個計算機系統(tǒng)網(wǎng)絡(luò)102和112含有至少一個相應(yīng)的本地計算機處理器單元104(例如服務(wù)器),它耦合到至少一個相應(yīng)的本地數(shù)據(jù)存儲單元106(例如數(shù)據(jù)庫)和本地網(wǎng)絡(luò)用戶108。作為通信網(wǎng)的計算機系統(tǒng)網(wǎng)絡(luò)可以是例如局域網(wǎng)(LAN)102或者廣域網(wǎng)(WAN)112。本地計算機處理器單元104選擇地通過網(wǎng)絡(luò)(例如因特網(wǎng))114耦合到多個媒體設(shè)備110。所述多個本地計算機處理器104中的每一個、網(wǎng)絡(luò)用戶處理器108和/或媒體設(shè)備110可以具有各種連接到其本地計算機系統(tǒng)的設(shè)備,如掃描儀、條形碼閱讀器、打印機和其它接口設(shè)備。被利用web瀏覽器編程的本地計算機處理器104、網(wǎng)絡(luò)用戶處理器108和/或媒體設(shè)備110(例如通過利用鼠標(biāo)點擊)查找并選擇一個特定網(wǎng)頁,以便訪問該網(wǎng)頁的內(nèi)容,該網(wǎng)頁的內(nèi)容位于計算機系統(tǒng)網(wǎng)絡(luò)102、112的本地數(shù)據(jù)存儲單元106上。網(wǎng)頁可以含有到其它計算機系統(tǒng)和其它網(wǎng)頁的鏈接。
本地計算機處理器104、網(wǎng)絡(luò)用戶處理器108和/或媒體設(shè)備110可以是計算機終端、能夠使用因特網(wǎng)協(xié)議(IP)通過因特網(wǎng)通信的尋呼機、具有因特網(wǎng)接入的公用電話亭、被連接的電子計劃器(例如由Palm公司制造的PALM設(shè)備)或者能夠通過網(wǎng)絡(luò)進行交互式通信的其它設(shè)備,如電子個人計劃器。本地計算機處理器104、網(wǎng)絡(luò)用戶處理器108和/或媒體設(shè)備110還可以是無線設(shè)備,諸如使用無線接入?yún)f(xié)議(WAP)連接到因特網(wǎng)并且通過因特網(wǎng)通信的手持單元(例如蜂窩電話)。網(wǎng)絡(luò)102和112可以被利用調(diào)制解調(diào)器連接、局域網(wǎng)(LAN)、電纜調(diào)制解調(diào)器、數(shù)字用戶線(DSL)、雙絞線、基于無線的接口(蜂窩、紅外線、無線電波)或者使用數(shù)據(jù)信號的等效連接而連接到網(wǎng)絡(luò)114。數(shù)據(jù)庫106可以被利用本領(lǐng)域已知的任何裝置連接到本地計算機處理器單元104。數(shù)據(jù)庫106可以采用任何恰當(dāng)類型存儲器(例如磁性、光等)的形式。數(shù)據(jù)庫106可以是外部存儲器或者位于本地計算機處理器104、網(wǎng)絡(luò)用戶處理器108和/或媒體設(shè)備110內(nèi)。
計算機還可以包括嵌入在消費品中的計算機和其它計算機。例如,本發(fā)明的一個實施例可以包括嵌入在電視中的(作為處理器的)計算機、機頂盒、音頻/視頻接收機、CD播放器、VCR、DVD播放機、啟用多媒體的設(shè)備(例如電話)和啟用因特網(wǎng)的設(shè)備。
在本發(fā)明的示范實施例中,網(wǎng)絡(luò)用戶處理器1 08和/或媒體設(shè)備110包括允許用戶處理器108和/或媒體設(shè)備110在網(wǎng)絡(luò)114上與本地處理器104通信以及互相通信的一個或多個程序模塊和一個或多個數(shù)據(jù)庫。所述程序模塊包括以PERL、可擴展標(biāo)示語言(XML)、Java、超文本標(biāo)示語言(HTML)或者任何其它等效語言編寫的程序代碼,其允許網(wǎng)絡(luò)用戶處理器108通過存儲在網(wǎng)絡(luò)用戶處理器108上的瀏覽器程序來訪問本地處理器104的程序模塊。
網(wǎng)站和網(wǎng)頁是諸如因特網(wǎng)的網(wǎng)絡(luò)上駐留了信息(內(nèi)容)的位置。網(wǎng)站可以包括一個單獨的或者幾個網(wǎng)頁。網(wǎng)頁由包括網(wǎng)頁在網(wǎng)絡(luò)上的位置(地址)的統(tǒng)一資源標(biāo)識符(URI)所標(biāo)識。網(wǎng)站和網(wǎng)頁可以位于局域網(wǎng)102、廣域網(wǎng)112、網(wǎng)絡(luò)114、處理單元(例如服務(wù)器)104、用戶處理器108和/或媒體設(shè)備110上。信息或內(nèi)容可以被存儲在諸如硬盤驅(qū)動器、光盤和主機設(shè)備的任何存儲設(shè)備中。內(nèi)容可以被以各種形式存儲,所述各種形式可以在網(wǎng)站之間不同,甚至可以在網(wǎng)頁之間不同。
圖2中的功能框圖200表示根據(jù)本發(fā)明的用于搜索網(wǎng)絡(luò)的健壯系統(tǒng)。系統(tǒng)200包括幾個功能單元,包括適配器12、搜索處理器14、用于搜索結(jié)果的數(shù)據(jù)存儲器16、查詢高速緩沖存儲器18、搜索引擎核心20、搜索持久存儲器22和加速器(promoter)24。在本發(fā)明的一個實施例中,系統(tǒng)200的功能單元中的每一個被在多個處理器上實現(xiàn),其可以被根據(jù)設(shè)置在系統(tǒng)200上的要求而動態(tài)修改。例如,系統(tǒng)200中的每個功能單元可以駐留在獨立的處理單元上,其中額外的處理單元被使得在線幫助任何特定功能并且當(dāng)所述要求減少時被去激活。在另一個示范實施例中,系統(tǒng)200的所有功能單元都駐留在一個單獨的處理單元上,其中軟件代碼段和存儲器被與每個功能單元相關(guān)聯(lián)。可用于一個特定功能單元的單獨處理器單元的資源的量是動態(tài)的,并且被根據(jù)設(shè)置在所述單獨處理單元上的對于一個特定功能的要求而分配。
系統(tǒng)200包括可分性(可分開性)和可伸縮性的特征??煞中灾赶到y(tǒng)200的功能單元是完全可移植和可替換的。也就是,每個功能單元可以駐留在任何處理單元上并且任何功能單元都可以被該功能單元的一個更新的版本或者另一個提供商的版本所替換。通過實現(xiàn)單元間特定接口協(xié)議來保證可分性。也稱作應(yīng)用程序編程接口(API)的單元間接口允許功能單元互相通信,而不管功能單元的版本或提供商。API是本領(lǐng)域公知的。API是一組預(yù)定的可重用的協(xié)議。例如,為了創(chuàng)建一個用于搜索的API,利用一組定義的參數(shù)(例如查詢串、希望的比特率串、希望的系統(tǒng)串)來為一個接口提供方法搜索,所有系統(tǒng)都必須承諾遵守所述API。
可伸縮性是指系統(tǒng)200能夠?qū)⑾到y(tǒng)資源再分配以便符合特定功能單元的要求。例如,系統(tǒng)200根據(jù)所述功能單元需要的存儲器的量來增加或者減少可用于特定功能單元的存儲器,諸如查詢高速緩沖存儲器18。因此,如果查詢高速緩沖存儲器18需要更多的存儲器,則系統(tǒng)200就使得更多存儲器可用于查詢高速緩沖存儲器18。隨著數(shù)據(jù)被從查詢高速緩沖存儲器18中清除,未被使用的存儲器就可用于系統(tǒng)200的其它功能單元。當(dāng)前的再分配需要在修改配置設(shè)置之后重新啟動所述部件之一。
適配器12是用于將搜索查詢轉(zhuǎn)換和格式化成為系統(tǒng)200可使用的系統(tǒng)格式的功能單元。適配器12根據(jù)由搜索引擎核心20所要求的方案來將諸如用戶提交的搜索查詢的一個查詢從一個諸如超文本傳送協(xié)議(HTTP)的標(biāo)準(zhǔn)協(xié)議轉(zhuǎn)換成為諸如可擴展標(biāo)示語言(XML)的系統(tǒng)200特定的格式。特定的搜索引擎通常需要數(shù)據(jù)被以該搜索引擎的特定XML格式來提供。因此,適配器12將搜索引擎轉(zhuǎn)換和格式化成為每個搜索引擎特定的格式。適配器12還將搜索結(jié)果從系統(tǒng)格式格式化成為被提交的格式或者被請求的格式,諸如超文本標(biāo)示語言(HMTL)和XML。
HTTP是由因特網(wǎng)上的處理器最通常使用的用來互相通信的協(xié)議。HTTP事務(wù)通常包括由一個處理器向另一個處理器發(fā)送的請求以及一個返回的響應(yīng)。HTTP請求和響應(yīng)包括描述消息的消息頭。XML是描述網(wǎng)絡(luò)(例如因特網(wǎng))數(shù)據(jù)及其結(jié)構(gòu)的語言,這與描述數(shù)據(jù)應(yīng)當(dāng)被如何呈現(xiàn)的HTML大不相同。XML為用戶提供創(chuàng)建她自己用于描述信息的詞匯表的能力。利用這個能力,一個XML文檔可以被設(shè)計來適合利用HTML所不可能實現(xiàn)的特定用途。因此,許多搜索引擎為被提供的數(shù)據(jù)創(chuàng)建搜索引擎特定的XML代碼并非不常見。
搜索處理器14是用于調(diào)整由系統(tǒng)200執(zhí)行的搜索過程的功能單元。搜索處理器14保證一個搜索查詢被正確地轉(zhuǎn)換成為系統(tǒng)格式并且搜索結(jié)果被轉(zhuǎn)換成為正確的格式(例如用戶提供的格式、用戶特定的格式)。搜索處理器14還保證查詢被在恰當(dāng)?shù)臄?shù)據(jù)庫中搜索。
查詢高速緩沖存儲器18是一個包括搜索引擎結(jié)果的拷貝的功能單元,所述搜索結(jié)果是諸如涉及和/或來自多個先前搜索的數(shù)據(jù)標(biāo)識符和分數(shù),盡管查詢高速緩沖存儲器18也可以容納涉及先前搜索的其它形式的數(shù)據(jù)。查詢高速緩沖存儲器18可以包括任何能夠存儲搜索結(jié)果并且與搜索處理器14通信這些搜索結(jié)果的處理器、代碼段、存儲設(shè)備、數(shù)據(jù)庫或者其組合。隨著搜索查詢被提供到系統(tǒng)200,基于這些查詢的搜索的結(jié)果被存儲在查詢高速緩沖存儲器18中。如果對于目前的搜索查詢的搜索結(jié)果被存儲在查詢高速緩沖存儲器18中,則搜索結(jié)果被由搜索處理器14直接從查詢高速緩沖存儲器18中檢索,而無需訪問搜索引擎核心20。然后,從查詢高速緩沖存儲器18或者搜索引擎核心20返回的記錄標(biāo)識符被與來自結(jié)果數(shù)據(jù)存儲器16的可顯示數(shù)據(jù)組合。然后,這些組合的結(jié)果被經(jīng)由適配器12提供給用戶或者請求的系統(tǒng)。存儲在查詢高速緩沖存儲器18中的搜索結(jié)果被根據(jù)稱作LRU(最不最近使用的)的過程而更新。根據(jù)LRU過程,最近的搜索結(jié)果代替已經(jīng)駐留在查詢高速緩沖存儲器18上時間最長的搜索結(jié)果。也就是,最近的搜索結(jié)果代替最舊的搜索結(jié)果。因此,包含在查詢高速緩沖存儲器18中的存儲器的量(尺寸)在限度內(nèi)保持大致不變。不過,查詢高速緩沖存儲器18的尺寸可以被根據(jù)設(shè)置在查詢高速緩沖存儲器18上的要求而增加或者減少。在一個實施例中,尺寸可以配置成為一個啟動參數(shù)并且改變高速緩沖存儲器的尺寸只需要重新啟動查詢高速緩沖存儲器(18)。系統(tǒng)認識到查詢高速緩沖存儲器被重新啟動并且正常地繼續(xù)。此外,如果在一個預(yù)定量的時間中,存儲在查詢高速緩沖存儲器18上的搜索結(jié)果沒有被訪問或者替換,則它們被刪除(也就是,從查詢高速緩沖存儲器18中清除)。例如,為了及時提供用于諸如新聞的條目的結(jié)果,這些條目被在大約30分鐘之后“成為失效(ageout)”。不過,這個參數(shù)是可配置的,并且可以被設(shè)置成為任何希望的值。
在一個替代實施例中,查詢高速緩沖存儲器18支持結(jié)果翻頁。來自一個查詢的結(jié)果典型地包括所有對應(yīng)于一個搜索查詢的命中(hit)。在這個實施例中,當(dāng)從查詢高速緩沖存儲器18檢索數(shù)據(jù)時,搜索處理器14只接收被適配器12格式化的滿足對于當(dāng)前被請求的一頁數(shù)據(jù)(例如對應(yīng)于被顯示的第一頁的)所需要的數(shù)據(jù)的一個子集。當(dāng)搜索處理器14請求由適配器12格式化的搜索結(jié)果的額外一頁時,數(shù)據(jù)的一個額外子集(例如對應(yīng)于被顯示的第二頁)被從查詢高速緩沖存儲器18發(fā)送。例如,緊接在一個查詢運行之后,只有搜索結(jié)果的第一頁被返回到適配器12用于格式化。如果一個用戶希望看到第二頁,則相同的查詢被再次傳送通過系統(tǒng),但是搜索請求只是對于對應(yīng)于被顯示的第二頁的數(shù)據(jù)行。
搜索引擎核心20是用于提供搜索機制的功能單元,其中數(shù)據(jù)庫被為搜索查詢和搜索查詢相關(guān)的數(shù)據(jù)而搜索。被搜索引擎核心20搜索的數(shù)據(jù)庫包括由搜索網(wǎng)絡(luò)(例如因特網(wǎng))的諸如蜘蛛和機器人的代理所產(chǎn)生的內(nèi)容。搜索引擎核心20可以是本領(lǐng)域已知的任何恰當(dāng)?shù)乃阉饕婧诵?。搜索引擎核心的例子包括OracleTMiMTTM、AltaVistaTM和InfoSeekTM。通過使用API的系統(tǒng)200的可分性允許任何搜索引擎核心被修改到一個更新的版本,被另一個提供商的版本替換,被一個不同的搜索引擎核心替換,或者其組合,而無需停用系統(tǒng)200。因此,系統(tǒng)200不依賴于一種特定類型的搜索引擎核心。盡管圖2示出的系統(tǒng)200包括多個搜索引擎核心20,但是根據(jù)本發(fā)明,系統(tǒng)200也可以包括一個單獨的搜索引擎核心20。
結(jié)果數(shù)據(jù)存儲器16是用于存儲與存儲在搜索引擎核心和搜索持久存儲器中的每個條目相關(guān)的元數(shù)據(jù)的功能單元。通過搜索引擎核心20的使用而找到的諸如主關(guān)鍵字的數(shù)據(jù)標(biāo)識符被存儲在結(jié)果數(shù)據(jù)存儲器16中,用于隨后提供給用戶或者請求的系統(tǒng)。搜索結(jié)果包括對于每個流已知的任何可返回的元數(shù)據(jù)。例子包括標(biāo)題、URL、作者、比特率和系統(tǒng)。表1和2含有用于三個不同條目(三個唯一的文件名)的元數(shù)據(jù)。結(jié)果關(guān)鍵字是用于索引到存儲在結(jié)果數(shù)據(jù)庫中的元數(shù)據(jù)的唯一標(biāo)識符。分數(shù)是為一個特定查詢?yōu)樗鎏囟ńY(jié)果關(guān)鍵字計算的數(shù)字加權(quán)。這個數(shù)字加權(quán)處理要到達一個對于每行對于每個查詢的單獨被加權(quán)分數(shù)的檢索詞頻率、日期關(guān)聯(lián)和其它關(guān)聯(lián)需求。每個結(jié)果數(shù)據(jù)存儲器16可以包括能夠存儲搜索結(jié)果和與搜索處理器14傳送這些搜索結(jié)果的任何處理器、代碼段、存儲設(shè)備、數(shù)據(jù)庫或者其組合。盡管系統(tǒng)200被在圖2中示為包括多個結(jié)果數(shù)據(jù)存儲器16,但是根據(jù)本發(fā)明,系統(tǒng)200也可以包括一個單獨的結(jié)果數(shù)據(jù)存儲器16。
搜索持久存儲器22是這樣一個功能單元,它用于存儲元數(shù)據(jù)最近的形式,以便更新搜索引擎核心20并且將搜索元數(shù)據(jù)提供到結(jié)果數(shù)據(jù)存儲器16。搜索持久存儲器22可以包括能夠存儲搜索結(jié)果、將搜索結(jié)果提供到結(jié)果數(shù)據(jù)存儲器16和更新搜索引擎核心20的任何處理器、代碼段、存儲設(shè)備、數(shù)據(jù)庫或者其組合。搜索持久存儲器22為每個流存儲(可搜索和可返回的)元數(shù)據(jù)的完整版本。搜索引擎核心20只含有可搜索的(它從搜索持久存儲器中獲得的)元數(shù)據(jù),同時結(jié)果數(shù)據(jù)存儲器16檢索可返回的元數(shù)據(jù)。由分發(fā)結(jié)果到每個相應(yīng)系統(tǒng)的搜索持久存儲器22更新搜索引擎核心20和結(jié)果數(shù)據(jù)存儲器16。
加速器24是用于利用對于給定的文件/流已知的元數(shù)據(jù)的最近版本來更新存儲在搜索持久存儲器22中的中間元數(shù)據(jù)的功能單元。然后,這個最近的元數(shù)據(jù)被以及時的方式提供給搜索引擎核心20和結(jié)果數(shù)據(jù)存儲器16,以便隨著元數(shù)據(jù)的發(fā)展而提供它的形式。按照處理負載允許的,這個機制提供了快速更新元數(shù)據(jù)的手段以及在周期的時間線上為結(jié)果數(shù)據(jù)存儲器16和搜索引擎核心20提供元數(shù)據(jù)的手段。搜索持久存儲器/加速器典型地被在地理上類似的位置上的單塊(monolith)之間共享。這些機制是用于更新來自搜索引擎核心20和結(jié)果數(shù)據(jù)存儲器16的可搜索形式的元數(shù)據(jù)的主要源。因此提供了一個可靠和可維護的搜索系統(tǒng)。加速從工作流系統(tǒng)中獲取被更新的元數(shù)據(jù)并且隨著新數(shù)據(jù)被發(fā)現(xiàn)和當(dāng)前數(shù)據(jù)被更新而更新系統(tǒng)。搜索引擎核心20和結(jié)果數(shù)據(jù)存儲器16以可配置的間隔從搜索持久存儲器22獲取被更新的內(nèi)容,以便更新元數(shù)據(jù)的形式,如表3和4所示。
在本發(fā)明的一個替代實施例中,加速器24利用兩個子系統(tǒng)工作一個用于數(shù)據(jù)獲取,另一個用于在數(shù)據(jù)庫和搜索客戶之間移動數(shù)據(jù)。用于數(shù)據(jù)獲取的第一個子系統(tǒng)通過本領(lǐng)域公知的諸如蜘蛛的數(shù)據(jù)提取器來從連接在因特網(wǎng)上的源獲取元數(shù)據(jù)。然后,這個被收集的元數(shù)據(jù)被加速器的第一個子系統(tǒng)移動到搜索持久存儲器22中。稱作“分配器”的第二個子系統(tǒng)將(包括一些被收集的元數(shù)據(jù)的)數(shù)據(jù)從搜索持久存儲器22移動到象地理上遠離搜索持久存儲器22的搜索引擎、搜索引擎核心20、結(jié)果數(shù)據(jù)存儲器16和其它搜索持久存儲器22的客戶。
表3
表4
圖3是根據(jù)本發(fā)明的包括多個搜索處理器14和負載平衡器28的系統(tǒng)300的功能框圖。從圖3中可以看出,系統(tǒng)300包括共享一個公共查詢高速緩沖存儲器18的兩個子系統(tǒng)32。每個子系統(tǒng)32以類似于系統(tǒng)200的方式操作。根據(jù)設(shè)置在系統(tǒng)300上的要求,負載平衡器28將處理負載大約平均地在子系統(tǒng)之間分配。此外,如果一個子系統(tǒng)成為不起作用的,則負載平衡器28動態(tài)地將用于不起作用的子系統(tǒng)的工作流分配給另一個子系統(tǒng)。盡管系統(tǒng)300被描述為具有兩個子系統(tǒng)32,但是系統(tǒng)300也可以包括共享一個公共的查詢高速緩沖存儲器18的兩個子系統(tǒng)32,以便提供被設(shè)置在系統(tǒng)300上的要求。任選地,系統(tǒng)300具有在它們各自的搜索持久存儲器22和加速器24之間共享數(shù)據(jù)的兩個子系統(tǒng)32。
圖4是用于根據(jù)本發(fā)明搜索基于網(wǎng)絡(luò)的內(nèi)容的過程的流程圖。在步驟42,適配器12接收搜索查詢。搜索查詢可以被用戶、請求的系統(tǒng)或者由兩個查詢提供者提供。在步驟44,適配器12將搜索查詢從標(biāo)準(zhǔn)協(xié)議(例如HTTP)轉(zhuǎn)換成為系統(tǒng)特定的格式(例如XML)。在步驟48,為涉及搜索查詢的內(nèi)容而搜索查詢高速緩沖存儲器18。如果涉及搜索查詢的內(nèi)容被在查詢高速緩沖存儲器18中找到,則在步驟46,包括所述內(nèi)容的搜索結(jié)果被從查詢高速緩沖存儲器18中檢索。如果搜索結(jié)果被從查詢高速緩沖存儲器18獲得,則搜索引擎核心20不被搜索。因此,通過不采用搜索引擎來搜索涉及搜索查詢的內(nèi)容,系統(tǒng)和過程提供一個非常快和有效的為用戶和/或請求的系統(tǒng)提供搜索結(jié)果的手段。在步驟56,利用涉及從查詢高速緩沖存儲器46檢索的搜索結(jié)果的信息來更新歷史文件。這個歷史文件中的信息被用于更新查詢高速緩沖存儲器18。用于從查詢高速緩沖存儲器18和/或搜索引擎核心20返回的每個關(guān)鍵字/分數(shù)的數(shù)據(jù)被與從結(jié)果數(shù)據(jù)存儲器16可返回的元數(shù)據(jù)組合。來自查詢高速緩沖存儲器18的搜索結(jié)果(關(guān)鍵字和分數(shù))以及在步驟57中獲取的(從結(jié)果數(shù)據(jù)存儲器16)可返回的元數(shù)據(jù)被在步驟65合并,形成了搜索引擎查詢結(jié)果與相關(guān)的數(shù)據(jù)存儲器結(jié)果的合并。然后,在步驟58,搜索結(jié)果被格式化成符合搜索查詢最初被提供的格式或者被明確請求的格式。然后,在步驟60,被格式化的搜索結(jié)果被通過結(jié)果數(shù)據(jù)存儲器16、搜索處理器14和適配器12提供給用戶和/或系統(tǒng)。
在搜索系統(tǒng)的各個實施例中,查詢高速緩沖存儲器18可以被在協(xié)同定位的實體或者單塊之間共享,或者可以被包括在一個單塊中,其中每個單塊包括一個查詢高速緩沖存儲器18。這個靈活性還可以應(yīng)用于結(jié)果數(shù)據(jù)存儲器16。也就是,結(jié)果數(shù)據(jù)存儲器16可以被在協(xié)同定位的單塊之間共享,或者被包括在一個單塊中,其中每個單塊包括一個結(jié)果數(shù)據(jù)存儲器。
如果沒有涉及搜索查詢的內(nèi)容被在查詢高速緩沖存儲器18中找到,則在步驟50,被格式化的搜索查詢被提供給搜索引擎核心20。搜索引擎核心搜索對于每個搜索引擎固有的包括可搜索元數(shù)據(jù)的數(shù)據(jù)庫。查詢還可以涉及多個搜索引擎,這些搜索引擎的相應(yīng)搜索引擎核心數(shù)據(jù)庫是被搜索的元數(shù)據(jù)。這些固有的數(shù)據(jù)庫可以包括由諸如蜘蛛和機器人的代理所執(zhí)行的網(wǎng)絡(luò)搜索的結(jié)果。如果結(jié)果來自多個搜索引擎,則在步驟52,稱作子集的結(jié)果被通過對于搜索引擎核心20進行搜索而獲得,產(chǎn)生被合并的搜索引擎結(jié)果。搜索持久存儲器22是來自用于更新搜索引擎核心20和結(jié)果數(shù)據(jù)存儲器16的加速的所有數(shù)據(jù)的中央高速緩沖存儲器。搜索持久存儲器22可以被與單塊協(xié)同定位,或者一個地理上分開的單塊可以有其自己的被通過加速而同步的搜索持久存儲器22。在步驟54,利用涉及從搜索引擎搜索獲得的搜索結(jié)果的信息來更新(例如添加、改變或者刪除)查詢高速緩沖存儲器18。因此,如果當(dāng)前的搜索查詢再次被提供給系統(tǒng),則系統(tǒng)將從查詢高速緩沖存儲器18檢索搜索結(jié)果,而不是再次采用耗時的搜索引擎核心20。在步驟56,歷史文件被利用涉及從搜索引擎核心20檢索的搜索結(jié)果的信息而更新。這個歷史文件中的信息被用來更新查詢高速緩沖存儲器18。來自查詢高速緩沖存儲器18的搜索結(jié)果(關(guān)鍵字和分數(shù))以及在步驟57獲得的(從結(jié)果數(shù)據(jù)存儲器16)可返回的元數(shù)據(jù)被在步驟65合并,形成了搜索引擎查詢結(jié)果與相關(guān)數(shù)據(jù)存儲器結(jié)果的合并。然后,在步驟58,搜索結(jié)果被格式化成符合搜索查詢最初被提供的格式或者明確被請求的格式。然后,在步驟60,從查詢高速緩沖存儲器18獲取的搜索結(jié)果被通過結(jié)果數(shù)據(jù)存儲器16、搜索處理器14和適配器12提供給用戶和/或系統(tǒng)。
在步驟58執(zhí)行的轉(zhuǎn)換和格式化包括進行格式化以便從存儲在搜索引擎核心20中的中間搜索結(jié)果中提取搜索查詢特定內(nèi)容(例如流式傳輸媒體文件),并且對搜索結(jié)果進行格式化以便符合用戶提供的或者由適配器12規(guī)定的格式。
注意,雖然系統(tǒng)200的一些實施例都是利用一個單獨的處理器操作,但是本發(fā)明也可以利用在圖3中的系統(tǒng)32所示的多個單塊(每個有自己的搜索處理器14)上的部署而有效地操作,所述多個單塊具有可以被共享的搜索子系統(tǒng)。例如,兩個子系統(tǒng)32被耦合到一起以便形成系統(tǒng)300。用于系統(tǒng)300的搜索處理器的數(shù)量是二,但是在本發(fā)明的這個替代實施例中,有一個在每個系統(tǒng)32之間共享的單獨的搜索持久存儲器22和單獨的加速器24。這個子系統(tǒng)的加倍可以加倍產(chǎn)生可返回元數(shù)據(jù)的圖3中的系統(tǒng)300的每分鐘的查詢數(shù)量,這對于可以被搜索的元數(shù)據(jù)的影響很小。本發(fā)明還提供了其它可伸縮部署的改變,例如兩個搜索持久存儲器22可以被三個系統(tǒng)32基于地理或者帶寬關(guān)系而共享。此外,系統(tǒng)32中的多個搜索引擎核心20可以被添加,以便進一步增加對于一個搜索可以被查詢的數(shù)據(jù)庫的量(可搜索的元數(shù)據(jù))。本質(zhì)上,耦合在一起的系統(tǒng)32以及添加在每個系統(tǒng)32中的搜索引擎核心20越多;在所描述的本發(fā)明中可以容納的搜索查詢、可搜索的元數(shù)據(jù)以及可返回的元數(shù)據(jù)就越多。
根據(jù)本發(fā)明用于搜索網(wǎng)絡(luò)的系統(tǒng)和方法提供健壯性、可分性、可伸縮性、效率以及快速度。由一個包括具有定義的對于每個其它功能單元的應(yīng)用程序接口(API)的功能單元的系統(tǒng)提供這些特性。因此,一個功能單元的版本或者提供源的改變對于系統(tǒng)有最小的影響。此外,系統(tǒng)被動態(tài)地可重新配置,以便符合設(shè)置在系統(tǒng)上的處理和存儲器要求。沒有一個功能單元需要駐留在一個特定的硬件設(shè)備上,因此提供了與分布式結(jié)果可比較的可重構(gòu)性。而且,系統(tǒng)將預(yù)定量的先前的搜索結(jié)果存儲在一個高速緩沖存儲器中,以便對于一個當(dāng)前搜索的搜索結(jié)果被從所述高速緩沖存儲器中檢索,因此避免了采用一個搜索引擎來搜索網(wǎng)絡(luò)的耗時過程。
可以用計算機實現(xiàn)的過程以及用于實踐這些過程的設(shè)備來實現(xiàn)本發(fā)明。還可以用嵌入在有形媒體中的計算機程序代碼來實現(xiàn)本發(fā)明,所述有形媒體包括諸如軟盤、只讀存儲器(ROM)、CD-ROM、硬盤驅(qū)動器、高密度盤或者任何其它計算機可讀的存儲介質(zhì),其中當(dāng)計算機程序代碼被加載到計算機中并且由該計算機執(zhí)行時,該計算機成為用于實踐本發(fā)明的設(shè)備。還可以用計算機程序代碼或者電子信號的形式來體現(xiàn)本發(fā)明,所述計算機程序代碼或者電子信號或者被存儲在存儲介質(zhì)中,被加載到計算機中和/或由該計算機執(zhí)行,或者通過光纖或者經(jīng)由電磁輻射而在諸如電線或者電纜的某些傳輸介質(zhì)上傳輸,其中當(dāng)計算機程序代碼被加載到計算機中并且由該計算機執(zhí)行時,該計算機成為用于實踐本發(fā)明的設(shè)備。當(dāng)實現(xiàn)在一個通用處理器上時,計算機程序代碼段配置處理器以便建立特定邏輯電路。
權(quán)利要求
1.一種用于為了基于網(wǎng)絡(luò)的涉及搜索查詢的內(nèi)容而搜索網(wǎng)絡(luò)的方法,該方法包括步驟接收所述搜索查詢;格式化所述搜索查詢;為了所述基于網(wǎng)絡(luò)的涉及所述搜索查詢的內(nèi)容而搜索數(shù)據(jù)庫,該數(shù)據(jù)庫包括先前的搜索結(jié)果;如果在所述數(shù)據(jù)庫中沒有找到基于網(wǎng)絡(luò)的涉及所述搜索查詢的內(nèi)容,則將所述被格式化的搜索查詢提供給至少一個搜索引擎;從所述數(shù)據(jù)庫和所述至少一個搜索引擎之一中檢索搜索結(jié)果;并且格式化所述檢索到的搜索結(jié)果。
2.如權(quán)利要求1所述的方法,還包括更新包括搜索結(jié)果的歷史文件的步驟。
3.如權(quán)利要求1所述的方法,其中所述格式化所述搜索查詢的步驟包括將所述搜索查詢格式化成為與所述至少一個搜索引擎兼容的格式。
4.如權(quán)利要求1所述的方法,還包括更新所述數(shù)據(jù)庫以便包括最近的搜索結(jié)果的步驟,其中所述最近的搜索結(jié)果代替最不最近的搜索結(jié)果;以及駐留在所述數(shù)據(jù)庫中至少一個預(yù)定量的時間的搜索結(jié)果被從所述數(shù)據(jù)庫中清除。
5.如權(quán)利要求1所述的方法,其中所述格式化所述檢索到的搜索結(jié)果的步驟包括將所述檢索到的搜索結(jié)果格式化成為用戶提供的格式和被請求的格式中的一個。
6.如權(quán)利要求1所述的方法,其中所述搜索查詢包括多媒體和流式傳輸媒體中的至少一個。
7.一種用于為了基于網(wǎng)絡(luò)的涉及搜索查詢的內(nèi)容而搜索網(wǎng)絡(luò)的系統(tǒng)(200),該系統(tǒng)(200)包括一個用于格式化所述搜索查詢的適配器(12);一個包括搜索結(jié)果的第一數(shù)據(jù)庫(18);一個第二數(shù)據(jù)庫(16),它包括涉及從可搜索元數(shù)據(jù)產(chǎn)生的所述搜索結(jié)果的可返回的元數(shù)據(jù);以及一個搜索引擎(14),用于調(diào)整所述第一數(shù)據(jù)庫(18)的搜索;調(diào)整所述第二數(shù)據(jù)庫(16)的搜索;提供和接收所述涉及所述搜索查詢的搜索結(jié)果去往和來自所述第一數(shù)據(jù)庫(18)和所述第二數(shù)據(jù)庫(16);以及將涉及所述搜索查詢的搜索結(jié)果提供給所述適配器(12)。
8.如權(quán)利要求7所述的系統(tǒng),還包括用于修改被收集用于一個未來的搜索查詢的數(shù)據(jù)的加速器(24)。
9.如權(quán)利要求8所述的系統(tǒng),其中所述修改包括下列中的至少一個優(yōu)化所述被收集的數(shù)據(jù)的用于支持所述搜索引擎(14)的格式,優(yōu)化所述被收集的數(shù)據(jù)的用于支持所述搜索引擎(14)的選擇,以及產(chǎn)生所述被收集的數(shù)據(jù)用于轉(zhuǎn)換成為可顯示的格式。
10.如權(quán)利要求9所述的系統(tǒng),其中所述被收集的數(shù)據(jù)的用于支持所述搜索引擎(14)的所述格式與所述可顯示格式是不同的。
11.如權(quán)利要求7所述的系統(tǒng),還包括用于存儲由所述搜索引擎(14)和所述第二數(shù)據(jù)庫(16)使用的被格式化的數(shù)據(jù)的搜索持久數(shù)據(jù)庫(22)。
12.如權(quán)利要求7所述的系統(tǒng),還包括多個適配器(12);相應(yīng)的多個搜索引擎(14);以及一個負載平衡器(28),用于在所述多個適配器(12)和所述相應(yīng)的搜索引擎(14)的每一個中大約平均地分配處理負載。
13.如權(quán)利要求7所述的系統(tǒng),其中所述適配器(12)、所述搜索引擎(14)、所述第一數(shù)據(jù)庫(18)、所述第二數(shù)據(jù)庫(16)之間的通信是根據(jù)一個系統(tǒng)特定的應(yīng)用編程接口協(xié)議。
14.如權(quán)利要求7所述的系統(tǒng),其中所述搜索查詢包括多媒體和流式傳輸媒體中的至少一個。
15.如權(quán)利要求7所述的系統(tǒng),其中一個第三數(shù)據(jù)庫(20)包括所述可搜索的元數(shù)據(jù)。
16.如權(quán)利要求7所述的系統(tǒng),其中所述第一數(shù)據(jù)庫(18)包括下列中的至少一個從先前的對應(yīng)于所述第二數(shù)據(jù)庫(16)中的所述元數(shù)據(jù)的搜索查詢產(chǎn)生的一個關(guān)鍵字,以及從先前的對應(yīng)于所述第二數(shù)據(jù)庫(16)中的所述元數(shù)據(jù)的搜索查詢產(chǎn)生的一個分數(shù)。
17.如權(quán)利要求7所述的系統(tǒng),其中所述搜索引擎(14)將來自對應(yīng)于所述搜索查詢的所述搜索結(jié)果的數(shù)據(jù)的一個子集返回到所述適配器(12)用戶格式化;以及所述格式化是從對應(yīng)于所述對應(yīng)于所述搜索查詢的搜索結(jié)果的多個被顯示頁中產(chǎn)生一個被顯示的頁。
18.一種包含程序的程序可讀介質(zhì),所述程序使得一個處理器為了基于網(wǎng)絡(luò)的涉及搜索查詢的內(nèi)容而搜索網(wǎng)絡(luò),所述程序可讀介質(zhì)包括使得所述處理器接收所述搜索查詢的裝置;使得所述處理器格式化所述搜索查詢的裝置;使得所述處理器為了所述基于網(wǎng)絡(luò)的涉及搜索查詢的內(nèi)容而搜索數(shù)據(jù)庫的裝置,所述數(shù)據(jù)庫包括先前的搜索結(jié)果;如果在所述數(shù)據(jù)庫中沒有找到基于網(wǎng)絡(luò)的涉及搜索查詢的內(nèi)容,則用于使得所述處理器將所述已格式化的搜索查詢提供給至少一個搜索引擎的裝置;用于使得所述處理器從所述數(shù)據(jù)庫和所述至少一個搜索引擎之一中檢索搜索結(jié)果的裝置;以及使得所述計算機格式化所述檢索到的搜索結(jié)果的裝置。
19.如權(quán)利要求18所述的程序可讀介質(zhì),所述程序可讀介質(zhì)還包括用于使得所述處理器更新一個包括搜索結(jié)果的歷史文件的裝置。
20.如權(quán)利要求18所述的程序可讀介質(zhì),所述用于使得所述處理器格式化所述搜索查詢的裝置還包括用于使得所述處理器將所述搜索查詢格式化成為與所述至少一個搜索引擎兼容的格式的裝置。
21.如權(quán)利要求18所述的程序可讀介質(zhì),所述程序可讀介質(zhì)還包括用于使得所述處理器更新所述數(shù)據(jù)庫以便包括最近的搜索結(jié)果的裝置,其中所述最近的搜索結(jié)果代替最不最近的搜索結(jié)果;以及駐留在所述數(shù)據(jù)庫中至少一個預(yù)定量的時間的搜索結(jié)果被從所述數(shù)據(jù)庫中清除。
22.如權(quán)利要求18所述的程序可讀介質(zhì),其中所述用于使得所述處理器格式化所述檢索到的搜索結(jié)果的裝置包括使得所述處理器將所述檢索到的搜索結(jié)果格式化成為一個用戶提供的格式和一個被請求的數(shù)據(jù)格式的裝置。
23.如權(quán)利要求18所述的程序可讀介質(zhì),其中所述裝置合并所述從多個搜索引擎檢索到的搜索結(jié)果。
24.如權(quán)利要求18所述的程序可讀介質(zhì),其中所述搜索查詢包括多媒體和流式傳輸媒體中的至少一個。
25.一種包括在載波中的數(shù)據(jù)信號,包括用于接收一個搜索查詢的接收搜索查詢代碼段,所述搜索查詢用于為了基于網(wǎng)絡(luò)的涉及所述搜索查詢的內(nèi)容而搜索一個網(wǎng)絡(luò);用于格式化所述搜索查詢的格式化搜索查詢代碼段;用于為了所述基于網(wǎng)絡(luò)的涉及一個搜索查詢的內(nèi)容而搜索一個數(shù)據(jù)庫的搜索數(shù)據(jù)庫代碼段,所述數(shù)據(jù)庫包括先前的搜索結(jié)果;一個提供格式化的搜索查詢代碼段,用于如果在所述數(shù)據(jù)庫中沒有找到基于網(wǎng)絡(luò)的涉及搜索查詢的內(nèi)容,則將已格式化的搜索查詢提供給至少一個搜索引擎;一個檢索搜索結(jié)果代碼段,用于從所述數(shù)據(jù)庫和所述至少一個搜索引擎之一中檢索搜索結(jié)果;以及一個格式化檢索到的搜索結(jié)果代碼段,用于格式化所述檢索到的搜索結(jié)果。
26.如權(quán)利要求25所述的數(shù)據(jù)信號,還包括一個用于更新包括搜索結(jié)果的歷史文件的更新歷史文件代碼段。
27.如權(quán)利要求25所述的數(shù)據(jù)信號,其中格式化所述搜索查詢包括將所述搜索查詢格式化成為與所述至少一個搜索引擎兼容的格式。
28.如權(quán)利要求25所述的數(shù)據(jù)信號,還包括用于更新所述數(shù)據(jù)庫以便包括最近的搜索結(jié)果的更新數(shù)據(jù)庫代碼段,其中所述最近的搜索結(jié)果代替最不最近的搜索結(jié)果;以及駐留在所述數(shù)據(jù)庫中至少一個預(yù)定量的時間的搜索結(jié)果被從所述數(shù)據(jù)庫中清除。
29.如權(quán)利要求28所述的數(shù)據(jù)信號,其中當(dāng)所述搜索查詢位于所述數(shù)據(jù)庫中時,所述更新所述數(shù)據(jù)庫添加來自多個搜索引擎的最近的搜索結(jié)果。
全文摘要
一種用于為了基于網(wǎng)絡(luò)的涉及搜索查詢的諸如多媒體和流式傳輸媒體的內(nèi)容而搜索網(wǎng)絡(luò)的系統(tǒng),該系統(tǒng)包括用于格式化一個搜索查詢的適配器(12),一個包括搜索結(jié)果的第一數(shù)據(jù)庫(18),一個第二數(shù)據(jù)庫,它包括涉及從可搜索元數(shù)據(jù)產(chǎn)生的搜索結(jié)果的可返回的元數(shù)據(jù),一個搜索處理器(14)以及包括一個搜索引擎固有的數(shù)據(jù)庫的至少一個搜索引擎核心(20)。搜索引擎(14)調(diào)整所述第一數(shù)據(jù)庫(18)和所述第二數(shù)據(jù)庫(16)的搜索,并且將格式化的搜索查詢提供到搜索引擎核心(20)。搜索處理器(14)還提供和接收搜索結(jié)果去往和來自所述第一數(shù)據(jù)庫(18)和所述第二數(shù)據(jù)庫(16),并且將搜索結(jié)果提供給所述適配器(12)。所述系統(tǒng)將預(yù)定量的先前搜索結(jié)果存儲在第一數(shù)據(jù)庫(18)中,以便從數(shù)據(jù)庫(18)中檢索對于一個當(dāng)前搜索的搜索結(jié)果,避免通過包括可搜索元數(shù)據(jù)的搜索引擎核心(20)進行搜索。
文檔編號G06F17/30GK1486468SQ01822165
公開日2004年3月31日 申請日期2001年11月20日 優(yōu)先權(quán)日2000年11月21日
發(fā)明者C·A·波特, C A 波特, J·D·雷?;魻柕? 雷?;魻柕? E·C·雷姆, 雷姆 申請人:湯姆森許可公司