專利名稱:用于搜索的方法和計算機系統的制作方法
技術領域:
本發明的實施例總體上涉及搜索在計算機系統中存儲的信息的鏈接頁
面,并且更具體地,涉及針對持久(persistent)關鍵字來搜索根頁面的后代 頁面。
背景技術:
多年前,計算機是不互相通信的隔離裝置。但是,今天,計算機常常連 接在網絡中,如因特網或萬維網,并且位于一個計算機(經常稱為客戶機) 處的用戶可能希望經由網絡存取在多個其他計算機(常常稱為服務器)處的 信息。信息經常被存儲在服務器處,并以頁面為單位被發送到客戶機,這些 頁面經由嵌入的超鏈接或鏈接而被連接在一起。鏈接是地址,如被嵌入在帶 鏈接頁面中的鏈接頁面的URL (統一資源定位符),當其被選擇時,使得該鏈 接頁面被檢索。因為因特網包括如此多的頁面,所以,找到感興趣的頁面可 能很難,因此許多公司提供搜索引擎,其允許用戶搜索包含關鍵字的頁面。
當前的搜索引擎一般具有搜索因特網的領域中的針對于關鍵字的組合的 較強的技術,并且通常可找到接近期望的結果并與關鍵字有關的頁面。但是, 所找到的頁面常常過于廣泛,并且不是用戶期望的特定頁面。相反,常常從 所找到的頁面之一鏈接(直接或間接)特定頁面。不幸的是,所找到的頁面 常常包含許多鏈接,并且追蹤所有鏈接是乏味且耗時的。
在針對這些問題的嘗試中, 一些站點提供它們自己的搜索功能,其允許 用戶向該特定站點搜索關鍵字。但是,這些搜索功能僅僅在該站點上存儲了 感興趣的頁面的情況下才有用。如果感興趣的頁面不在該站點上,而是從該 站點鏈接,則搜索功能不會找到它。
作為另 一技術, 一些瀏覽器會搜索在先前訪問的站點的歷史緩存中標識 的站點。如果用戶與先前觀看頁面時處于相同的計算機、使用相同的瀏覽器, 并且如果該頁面還未被從歷史緩存中清除出去,則此技術可能是成功的。但 是,用戶越來越具有移動性,并且可能使用多種計算機和瀏覽器,并且用戶 關心隱私,因而他們常常擦除歷史緩存,因而此技術的用途是有限的。
由此,所需要的是用于找到從其他頁面直接或間接地鏈接的頁面的增強 的技術。
發明內容
提供了一種方法、設備、系統和信號承載介質。接收包括主關鍵字和簡 檔的請求,其中簡檔包括持久關鍵字。響應于該請求,找到包括與主關鍵字 匹配的第一項目的根頁面。向根頁面的后代頁面搜索匹配持久關鍵字的第二 項目。該搜索確定后代頁面位于源自根頁面的多個路徑上的多個層、以及這 些層位于從根頁面起的一定深度內。找到作為根頁面的后代且包括匹配持久 關鍵字的第二項目的后代頁面。將指向根頁面的根鏈接和指向后代頁面的后 代鏈接發送給請求方。如果提交主關鍵字的次數大于閾值數,則將主關鍵字 添加到持久關鍵字。以此方式,在實施例中,使得能夠進行持久搜索,其允 許用戶找到在源自根頁面的路徑上鏈接的頁面,其包括用戶具有持久興趣的 持久關鍵字。
下文中結合附圖描述本發明的各種實施例
圖1繪出了用于實現本發明的實施例的示例系統的高級框圖。
圖2繪出了根據本發明的實施例的示例頁面的框圖。
圖3繪出了根據本發明的實施例、用于存儲簡檔數據的示例用戶界面的框圖。
圖4繪出了根據本發明的實施例、用于搜索的示例用戶界面的框圖。 圖5繪出了根據本發明的實施例、用于檢索頁面的示例用戶界面的框圖。 圖6繪出了根據本發明的實施例、用于索引的示例數據結構的框圖。 圖7繪出了根據本發明的實施例、用于搜索器(c r a w 1 e r)的示例處理的流程圖。
圖8繪出了根據本發明的實施例、用于利用筒檔來搜索根頁面的后代頁 面的示例處理的流程圖,其中經由鏈接找到該根頁面。 _
圖9繪出了根據本發明的實施例、用于利用簡檔來搜索根頁面的后代頁 面的示例處理的流程圖,其中通過搜索找到該根頁面。
圖1 0繪出了根據本發明的實施例、用于利用簡檔來搜索頁面的示例處理 的流程圖。
圖11繪出了根據本發明的實施例、用于利用簡檔來搜索后代頁面的示例 處理的流程圖。
然而,應注意,附圖僅僅例示了本發明的示例實施例,因而不看作是其 范圍的限制,本發明可容納其他等同的有效實施例。
具體實施例方式
參照附圖,其中在幾個圖中,相同的附圖標記指示相同的部分,根據本
發明的實施例,圖1繪出了經由網絡130連接到服務器計算機系統132和135 的客戶機計算機系統100的高級框圖表示。這里,術語"客戶機"和"服務 器"的使用僅僅為了便利,并且在各種實施例中,在一個環境中操作為客戶 機的計算機可以在另一環境中操作為服務器,反之亦然。在一個實施例中, 可通過可從紐約阿芒克的國際商業機器公司獲得的IBM System i5計算機系 統來實現計算機系統100、 132和135的硬件組件。但是,本領域技術人員會 理解,本發明的實施例的機制和設備可等同地應用于任何合適的計算系統。
計算機系統100的主要組件包括一個或多個處理器101、主存儲器102、 終端接口 lll、存儲接口 112、 1/0(輸入/輸出)裝置接口 113、以及通信/網 絡接口 114,所有這些經由存儲器總線103、 1/0總線104和I/O總線接口單 元105而耦連,以進行內部組件通信。
計算機系統100包含一個或多個通用可編程中央處理單元(CPU) IOIA、 IOIB、 101C和101D,這里將其統稱為處理器101。在一個實施例中,計算機 系統100包含對于大系統來說典型的多處理器;然而,在另一實施例中,可 替換地,計算機系統100可以是單CPU系統。每個處理器101執行在主存儲 器102中存儲的指令,并可包括一級或多級板載高速緩存。
主存儲器102是用于存儲或編碼數據和程序的隨機存取半導體存儲器。 在另一實施例中,主存儲器102代表計算機系統100的整個虛擬存儲器,并 且還可包括耦連到計算機系統100和經由網絡130連接的其他計算機系統的 虛擬存儲器。主存儲器102概念上是單個的單片實體,但在其他實施例中, 主存儲器102可以是更復雜的裝置,如高速緩存和其他存儲器件的分級。例 如,存儲器可存在于多級高速緩存中,并且這些高速緩存可進一步以功能進
行劃分,使得一個高速緩存保存指令而另一高速緩存保存由處理器使用的非 指令數據。存儲器還可分布并關聯到不同的CPU或CPU組,如在各種所謂非
一直存儲器存取(NUMA)計算機體系中的任一種中已知的那樣。
主存儲器102存儲或編碼應用150、簡檔152、搜索請求頁面154、后代 結果頁面156、以及搜索結果頁面158。盡管應用150、簡檔152、搜索請求 頁面154、后代結果頁面156、以及搜索結果頁面158被示出為包含在計算機 系統100的存儲器102中,但在其他實施例中,它們中的一些或全部可以在 不同的計算機系統上,并且例如,可經由網絡13 0而^皮遠程地訪問。計算一幾 系統100可使用虛擬尋址機制,其允許計算機系統100的程序作用為如同它 們僅僅存取大的單個存儲實體、而不存取多個更小的存儲實體那樣。由此, 盡管應用150、簡檔152、搜索請求頁面154、后代結果頁面156、以及搜索 結果頁面158被示出為包含在主存儲器102中,但這些元素不一定全部完整 地同時包含在同一存儲裝置中。另外,盡管應用150、簡檔152、搜索請求頁 面154、后代結果頁面156、以及搜索結果頁面158被示出為分離的實體,但 在其他實施例中,它們中的一些、它們中的一些的部分、或它們中的全部可 被封裝在一起。
應用150提供用于將數據存儲到簡檔152的界面。應用150還從服務器 132接收搜索請求頁面154,呈現或顯示搜索請求頁面154,接收用于搜索請 求的數據,并將搜索請求頁面154和簡檔152發送給搜索引擎190。應用150 還接收后代結果頁面156和搜索結果頁面158,并渲染和顯示它們。應用150 還經由指向頁面的鏈接而從服務器135接收所選擇的頁面。
在各種實施例中,可經由操作系統、用戶應用、第三方應用、瀏覽器、 瀏覽器的插件、它們的任何組合、或通過在處理器101上執行的可執行指令 或可解釋語句來編碼的任何合適的程序,而實現應用150。在另一實施例中, 可以用硬件來實現應用150。因為如上面所解釋的,應用150可包括組件的 組合,所以, 一個組件(例如,瀏覽器)可執行一個動作,如檢索頁面,而 另一組件(例如,插件)向搜索引擎190發送用于搜索的請求。
存儲器總線103提供數據通信路徑,用于在處理器IOI、主存儲器102、 以及I/O總線接口單元105之間傳遞數據。I/O總線接口單元105還被耦連 到系統I/0總線,以向和從各種I/O單元傳遞數據。I/O總線接d單元105 通過系統1/0總線104,與還被稱為1/0處理器(I0P)或1/0適配器(IOA)的
多個1/0接口單元111、 112、 113和114進行通信。例如,系統1/0總線104 可為工業標準PCI (外圍組件接口 )總線、或任何其他適合的總線技術。
1/0接口單元支持與多種存儲裝置和I/O裝置進行通信。例如,終端接 口單元111支持附連一個或多個用戶終端121,其可包括用戶輸出裝置(如 視頻顯示裝置或揚聲器)以及用戶輸入裝置(如鍵盤、鼠標、或其他定點裝 置)。存儲接口單元112支持附連一個或多個直接存取存儲裝置(DASD)125、 126和127(典型地,其是旋轉式磁盤驅動器存儲裝置,但是,可替換地,它 們可以是其他裝置,包括被配置為對主機呈現為單個大存儲裝置的盤驅動器 的陣列)。根據需要,主存儲器102的內容可被存儲到直接存取存儲裝置125、 126和127和從直接存取存儲裝置125、 126和127檢索。
1/0裝置接口 113向任何各種其他輸入/輸出裝置、或諸如打印機或傳真 機之類的其他類型的裝置提供接口。網絡接口 114提供從計算機系統100到 其他數字裝置和計算機系統132和135的一個或多個通信路徑;例如,這樣 的路徑可包括一個或多個網絡130。
盡管在圖1中將存儲器總線103示出為在處理器101、主存儲器102和 I/O總線接口 105之間提供直接通信路徑的、相對筒單的單個總線結構,但 事實上,存儲器總線103可包括多個不同的總線或通信路徑,其可被布置為 任何不同的形式,如按照分級、星狀或網狀配置的點對點鏈路、多級總線、 并行和冗余路徑、或任何其他合適類型的配置。另外,盡管1/0總線接口 105 和I/O總線104被示出為單個分立單元,但計算機系統100事實上可包含多 個I/0總線接口單元105和/或多個I/0總線104。盡管示出了將系統I/0總 線104與到達各種I/O裝置的各種通信路徑分離的多個1/0接口單元,但在 其他實施例中,I/O裝置中的一些或全部可直接連接到一個或多個系統I/O 總線。
在各種實施例中,計算機系統100可以是多用戶"框架(mainframe )" 計算機系統、單用戶系統、或者具有較少或沒有直接用戶接口、但從其他計 算機系統(客戶機)接收請求的服務器或類似裝置。在其他實施例中,計算 機系統100可被實現為個人計算機、便攜式計算機、膝上型或筆記本計算機、 PDA(個人數字助理)、桌上型計算機、口袋型計算機、電話、尋呼機、機動車、 電信會議系統、家用電器、或任何其他合適類型的電子裝置。
網絡130可以是任何合適的網絡或網絡組合,并且可支持適用于向/從計
算機系統100、服務器計算機系統132和服務器計算機系統135的傳遞數據 和/或代碼的任何適合的協議。在各種實施例中,網絡130可表示直接或間接 連接到計算機系統100的存儲裝置或存儲裝置的組合。在一個實施例中,網 絡130可支持Infiniband體系。在另一實施例中,網絡130可支持無線通信。 在另一實施例中,網絡130可支持硬接線(hard wired)通信,如電話線或 線纜。在另一實施例中,網絡130可支持以太網IEEE (電氣和電子工程師協 會)802. 3x規范。在另一實施例中,網絡130可以是因特網,并且可支持IP (因特網協議)。
在另一實施例中,網絡130可以是局域網(LAN)或廣域網(WAN)。在另一 實施例中,網絡130可以是熱點服務提供商網絡。在另一實施例中,網絡130 可以是內聯網。在另一實施例中,網絡130可以是GPRS(通用分組無線電服 務)網絡。在另一實施例中,網絡130可以是FRS(家庭無線電服務)網絡。在 另一實施例中,網絡130可以是任何合適的蜂窩式數據網絡、或基于小區的 無線電網絡技術。在另一實施例中,網絡130可以是IEEE 802. 11B無線網絡。 在另一實施例中,網絡130可以是任何合適的網絡、或網絡的組合。盡管示 出了一個網絡130,但在其他實施例中,可存在任何數目的網絡(相同或不 同類型)。
服務器計算機系統132可包括先前所述的、被包括在客戶機計算機系統 100中的硬件組件中的一些或全部。服務器計算機系統132包括連接到處理 器180的存儲器182。存儲器182是隨機存取半導體存儲器或其他存儲器件, 其存儲或編碼搜索引擎190、索引192以及搜索器194。
搜索器194 (也稱為網絡搜索器(spider )、自動機(robot )或代理 (agent ))訪問服務器135處的網頁,讀取它,然后追蹤對同一域或網站內 的其他頁面的鏈接。典型地,搜索器194在規律(如每月或其他時間段)的 基礎上返回到該站點,以尋找變化。搜索器194將其找到的所選擇的信息存 儲在索引192中,索引192表示服務器計算機系統135處的頁面。下面還參 照圖6描述索引192。有時,搜索器194找到的新頁面或變化需要一些時間 來被添加到索引192中。由此,網頁已被"搜尋到"但還未被"索引"。直到 頁面已被添加到索引192之前,利用搜索引擎190進行搜索的人員不能使用 該頁面。
搜索引擎190將搜索請求頁面154發送給應用150,并且,作為響應,
接收一個或多個搜索關鍵字、以及包括一個或多個持久關鍵字的簡檔152。
在另一實施例中,搜索引擎190可接收搜索關鍵字和簡檔152,即使搜索引 擎190還未將搜索請求頁面154發送給應用150。搜索引擎190讀取關于在 預先創建的索引192中描述的頁面的信息,以找到包括匹配搜索關鍵字的項 目的根頁面,并且還找到包括匹配搜索持久關鍵字的項目的根頁面的后代頁 面。搜索引擎190找到的后代頁面是距離根頁面一定層級(其在簡檔152中 指定的深度內)的、根頁面的后代。搜索引擎190將搜索結果頁面158和后 代結果頁面156返回到應用150,它們分別包括到根頁面的鏈接和到后代頁 面的纟連才妻。
在一個實施例中,搜索器194和/或搜索引擎190包括能夠在處理器180 上執行的指令、或能夠通過在處理器101中執行的指令而被解釋的語句,以 執行下面參照圖7、圖8、圖9、圖IO和圖ll進一步描述的功能。在另一實 施例中,可以以微碼來實現搜索器194和/或搜索引擎190。在另一實施例中, 可經由邏輯門和/或其他合適的硬件技術來以硬件實現搜索器194和/或搜索 引擎190。
服務器計算機系統135可包括先前所述的、被包括在計算機系統100中 的硬件組件中的一些或全部。服務器計算機系統135包括在具有與主存儲器 102相似的描述的存儲器中存儲的頁面138。頁面138可包括能夠經由搜索器 194搜尋到、以及經由應用150檢索到的任何合適的內容,如文本、視頻、 音頻、圖像、控制標記(tag)、格式化標記、語句、或任何其他合適的數據。 在各種實施例中,可經由文檔、文件、對象、表、數據庫、目錄、子目錄、 或它們的任何部分或組合來實現頁面138,并且,在一些實施例中,除了數 據之外,頁面138還可包括嵌入式控制標記、語句或邏輯。下面參照圖2進 一步描述頁面138的例子。
應理解,圖1意圖繪出高級別的客戶機計算機系統100、網絡130、服務 器計算機系統132以及服務器計算機系統135的代表性的主要組件,各個組 件可具有比圖1所示更大的復雜度,還可存在替代或除了圖1中示出的組件 之外的組件,并且,這樣的組件的數目、類型和配置可變化。在此公開了這 樣的其他復雜度或其他變型的幾個具體示例;應理解,這些僅僅是通過示例 方式而不一定僅僅是這樣的變型。 '
圖l所示的、實現本發明的各種實施例的各種軟件組件可以用多種方式
來實現,包括使用各種計算機軟件應用、例程、組件、程序、對象、模塊、 數據結構等,在下文將其稱為"計算機程序"或簡稱為"程序"。典型地,計 算機程序包括一個或多個指令,所述指令在不同的時間駐留在客戶機計算機 系統100和/或服務器計算機系統132中的各個存儲器和存儲裝置中,并且,
所述指令當被客戶機計算機系統100和/或服務器計算機系統132中的一個或 多個處理器讀取并執行時,使客戶機計算機系統100和/或服務器計算機系統 132執行必要步驟,以執行包括本發明的各個方面的步驟或元素。
此外,盡管本發明的實施例已經或將在下文中以全功能的計算機系統的 環境來描述,但本發明的各種實施例能夠被分發為多種形式的程序產品,并 且本發明等同地應用,而不考慮用于實際進行分發的信號承載介質的具體類 型。定義此實施例的功能的程序可經由可操作性地或通信性地連接(直接或 間接)到處理器(如處理器101和180)的多個有形信號承載介質而傳輸到 客戶機計算機系統100和/或服務器計算機系統132。信號承載介質可包括但 不限于
(1) 在不可重寫存儲介質(例如,附連到或在計算機系統內部的只讀存儲 器件,如可由CD-ROM驅動器讀取的CD-ROM)上永久性存儲的信息;
(2) 在例如硬盤驅動器(例如DASD 125、 126或127)、主存儲器1Q2或 182、 CD-RW或盤之類的可重寫存儲介質上存儲的可替換信息;或者
(3) 通過通信介質,如通過計算機或通過例如網絡130的電話網絡而傳送 到客戶機計算機系統100和/或服務器計算機系統132的信息。
這樣的有形信號承載介質在利用指向本發明的功能的計算機可讀和可執 行指令來編碼或執行這些指令時代表本發明的實施例。
還可作為具有客戶團體、非盈利組織、政府實體、內部組織結構等的服 務管理的一部分而傳遞本發明的實施例。這些實施例的各方面可包括配置 計算機系統來執行以及部署計算服務(例如,計算機可讀代碼、硬件和網上 服務),以實現在此所述的方法中的一些或全部。這些實施例的各方面也可包 括分析客戶公司,響應于分析而創建建議,生成計算機可讀代碼來實現部 分建議,將計算機可讀代碼集成到現有過程、計算機系統和計算基礎結構中, 測量(metering)在此描述的方法和系統的使用,向用戶指派費用,并且根據
用戶對這些方法和系統的使用而向用戶開帳單。
此外,可基于在本發明的特定實施例中實現的應用來標識下文中描述的
各種程序。但是,僅僅為了便利而使用以下任何具體的程序術語,因此,本 發明的實施例不應限于僅僅在這樣的術語標識和/或暗示的任何特定應用中 使用。
圖1所示的示例環境不意圖限制本發明。實際上,可使用其他替代硬件 和/或軟件環境,而不會脫離本發明的范圍。
圖2繪出了根據本發明實施例的示例頁面138的框圖。示例頁面138包 括頁面138—1、 138—2、 138-3、 138-4、 138—5、 138—6、 138-7、 138—8、 138—9 和138-10,它們的組織可表示為圖(graph)。頁面138總體上引用頁面138-1、 138—2、 138—3、 138—4、 138—5、 138-6、 138-7、 138-8、 138-9和/或138-10。
通常,圖包括節點和邊的集合。節點(也稱為頂點)表示對象或數據, 而邊表示頁面之間的鏈接。 一條邊鏈接兩個節點,并且,這兩個節點被稱為 該邊的關聯(incident);等價地,該邊是這兩個節點的關聯。邊可具有方向, 在此情況下,邊被稱為有向邊。如果邊的方向遠離第一節點而朝向第二節點, 則第一節點稱為第二節點的父母節點,第二節點是第一節點的孩子節點。
一類圖是樹,其表示鏈接的數據的分級組織。樹根據其對自然的樹的模 擬而得名,自然的樹具有分支和葉的分級組織。例如,葉連接到小分支,其 進一步連接到大分支,并且樹的所有分支具有位于根處的公共起始點。類似 地,在圖是樹的實施例中,節點具有分級組織,其中節點與另一節點具有關 系,另一節點自身與其他節點具有另一關系,依此類推。由此,所有節點可 被劃分為最終全都具有對根節點的關系的子組和組。
為更正式性地定義樹,樹結構定義了節點的分級組織,節點可表示任何 數據。因此,樹是一個或多個節點的有限集T,使得
a) —個特別指定的節點被稱為樹的根;以及
b) 剩余節點(除了根之外)被分為m>=0個不相交(disjointed)的集 合L、..工,,并且,這些集合中的每一個依次是一個樹。
樹T1、 ...Tm被稱為根的子樹。由此,樹中的每個節點是整個樹中包含的 一些子樹的根。節點的子樹的數目被稱為該節點的度(degree)。度為0的節 點被稱為末節點(terminal node)或葉。非末節點被稱為分支節點。通過假 定根具有層Q來定義關于T的節點的層,并且,其他節點具有比它們相對于 包含它們的子樹而具有的層更高的層。每個根是其子樹的根的父母,后者是 兄弟(sibling),并且它們還是它們父母的孩子。根的子樹中的節點是該根的后代。整個樹的根不具有父母。
樹的一個不同的定義將樹定義為相連的非循環筒單圖。簡單圖不具有共
享同一端節點的多個邊。非循環圖不包含循環,其中循環是閉合通路(walk)。
通路是圖的節點和邊的子集的交替序列,從第一節點開始,結束于最后 節點,其中通路中的每個節點是其在序列中之前和之后的兩個邊的關聯,并 且在邊之前和之后的節點是該邊的端節點。如果第 一 節點和最后節點相同, 則稱通路是閉合的,或者,如果第一節點和最后節點不同,則稱通路是開放
的。開放通路也稱為路徑(path)。在各種實施例中,通路中的所有邊可以不 同或有區別(在此情況下,通路也稱為跡(trail )),或者通路中的一些邊可 以相同。可從任何類型的圖來形成通路。
由此,在圖2的示例中,可由圖來表示鏈接頁面138的組織,在此情況 下,節點可表示頁面,并且,每個有向邊表示從一個頁面到另一頁面的鏈接。
例如,頁面138-1是頁面138的根頁面。頁面138-1包括指向其孩子頁 面138-2、 138-3和138-4的嵌入鏈接(孩子鏈接)。頁面138-2、 138-3和 138-4是它們的父母頁面(即根頁面138-1)的后代。頁面138-2包括指向其 孩子頁面138-5的嵌入孩子鏈接。頁面138-5是其父母頁面138-2和頁面 138-1的后代。
頁面138-3包括指向其孩子頁面138-6和138-7的嵌入孩子頁面。頁面 138-6和138-7是它們的父母頁面138-3和頁面138-1的后代。頁面138-4 包括指向其孩子頁面138-3、 138-7、 138-8和138-9的嵌入孩子鏈接。頁面 138-3、 138-7、 138-8和138-9是它們的父母頁面138-4和頁面138-1的后 代。頁面138-8包括指向其孩子頁面138-10的嵌入孩子鏈接。頁面138-10 是它們的父母頁面138-8、頁面138-4和頁面138-1的后代。
頁面138-3和138-10分別包括項目210-l和210-2。頁面138-2、 138-3 和138-4分別包括項目250-1 、 250-2和250-3。 4壬何、 一些或全部頁面也可 包括附加項目。
頁面138的圖包括示例路徑205,其是頁面138-1、從頁面138-1到頁面 138-4的嵌入孩子鏈接、頁面138-4、從頁面138-4到頁面138-8的嵌入孩子 鏈接、頁面138-8、從頁面138-8到頁面138-10的嵌入孩子鏈接、以及頁面 138-IO的序列。3各徑205中的頁面138-4、 138-8和138-10是根頁面138-1 的后代頁面。路徑205表示正在觀看頁面138-1的用戶找到包括與簡檔152中的持久關鍵字匹配或相同的項目210-2的后代頁面138-10的路線。根頁面 138-1在路徑205中位于層0。頁面138-4在路徑205中位于層1。頁面138-8 在路徑205中位于層2。頁面138-10在路徑205中位于層3。
在各種實施例中,鏈接是部分或全部量化的URL (統一資源定位符)、或 被嵌入在一個頁面中且指向另 一頁面的其他地址。鏈接可包括以下中的任何、 一些或全部通信協議的規范、端口標識符、網絡130上的地址、域標識符、 目錄或子目錄的分層的規范、以及標識目錄或子目錄的分層內的文件或頁面 的文件名。鏈接可具有相關聯的文本,如鏈接所指向的頁面的內容的標題、 摘要或描述。
圖3繪出了根據本發明的實施例、用于存儲簡檔數據的示例用戶界面的. 框圖。應用150經由終端121顯示或呈現簡檔用戶界面300,通過終端201 而從用戶經由輸入區域305 、 310、 315、 320和/或325接收數據,并且將數 據存儲或修改到由簡檔名305標識的簡檔152。
簡檔名305命名或標識簡檔152之一。持久搜索關鍵字310指定了搜索 引擎190要用來搜索在源自根頁面的路徑上的、根頁面的后代頁面的詞或項 目。深度315指定后代頁面在它們源自根頁面的路徑上所在的最大層數。具 有深度315的后代頁面意指在它們的小于或等于深度315的路徑(源自根頁 面)上的層上的后代頁面。
根頁面準則320(其通常指示根頁面準則320-1 、 320-2、 320-3和320-4) 規定了搜索引擎190用來選擇根頁面的一個或多個選擇準則。根頁面準則 320-1指導搜索引擎190,以將搜索引擎190找到的、包含與由搜索請求規定 的主搜索關鍵字相匹配的項目的頁面指定為根頁面。如下面參照圖4進一步 描述的,經由搜索用戶界面而將主搜索關鍵字發送給搜索引擎190。
根頁面準則320-2規定了應用150響應于書簽的選擇而檢索到的頁面 是根頁面。響應于根頁面準則320-2的選擇,應用150將到經由書簽檢索到 的頁面的鏈接發送給搜索引擎190,并指示搜索引擎190針對持久搜索關鍵 字310而搜索該根頁面的后代,直至源自根頁面的路徑上的深度315。
根頁面準則320-3規定了應用150響應于父母頁面中的嵌入孩子鏈接 的選擇而檢索到的頁面是根頁面。響應于根頁面準則320-3的選擇以及嵌入 孩子鏈接的選擇,應用150檢索由孩子鏈接指向的頁面,并將孩子鏈接發送 給搜索引擎190,指示搜索引擎190針對持久搜索關鍵字310搜索該根頁面 的后代,直至源自根頁面的路徑上的深度315。如上所述,根頁面準則320-3 規定了根頁面隨著選擇鏈接、并檢索頁面而改變,于是筒檔保持激活,并 且,持久搜索關鍵字310被用于搜索各個根頁面的后代,同時用戶在頁面之 間進行瀏覽。
根頁面準則320-4規定了應用150響應于鏈接或地址的人工輸入(例 如,經由文本輸入)而檢索到的頁面是根頁面。響應于根頁面準則320-4的 選擇和鏈接的人工文本輸入,應用150檢索由該鏈接指向的頁面,并且將該 鏈接發送給搜索引擎190,指示搜索引擎190針對持久搜索關鍵字310搜索 該頁面的后代,直至源自根頁面的路徑上的深度315。
選項325向用戶提供選擇各個選項325-1 、 325-2、 325-3、 325-4、 325-5、 325-6和/或325-7 (統稱為選項325)的機會。自動打開選項325-1規定了 應用150在不同于搜索結果頁面或根頁面的窗口中自動打開和顯示后代結果 頁面156。后代結果頁面156包括到包含與持久搜索關鍵字310相匹配的項 目的后代頁面的鏈接。搜索結果頁面158包括到包含與主搜索關鍵字相匹配 的項目的根頁面的根鏈接。
自動檢索選項325-2指示應用150自動檢索和顯示搜索引擎190找到的、 包括與持久搜索關鍵字310相匹配的項目的后代頁面。標簽選項325-3指示 應用150顯示標簽,并且響應于該標簽的選擇,顯示包括到包含與持久搜索 關鍵字310相匹配的項目的后代頁面的鏈接的后代結果頁面136。色彩選項 325-4指示應用150高亮顯示或以規定彩色顯示指向包括搜索引擎190找到 的后代頁面的路徑的、在根頁面或搜索結果頁面中嵌入的那些鏈接,所述后 代頁面包含與持久搜索關鍵字310相匹配的項目。鏈接通過指向路徑中的頁 面而指向該路徑。創建書簽選項325-5指示應用150向書簽列表添加搜索引 擎19 0找到的、包含與持久搜索關鍵字310相匹配的項目的后代頁面。
創建持久關鍵字選項325-6指示應用150向簡檔152中的持久搜索關鍵 字310中添加用戶已指定的次數(經由圖4的搜索界面)超過閣值3"-7次 數的那些主搜索關鍵字。以此方式,即使未明確地通過簡檔用戶界面300來 指定,用戶頻繁搜索(超過閾值325-7次數)的主搜索關鍵字也會變為持久 搜索關鍵字310。
圖4繪出了根據本發明的實施例的示例搜索界面400的框圖。jz用150 經由終端121顯示搜索用戶界面400。搜索用戶界面400包括標簽405、搜索
請求頁面154、以及搜索結果頁面158。圖4還包括后代結果頁面156和后代 頁面138-3和138-10。
例如,應用150通過經由鏈接而檢索搜索引擎190的域上的請求的頁面, 而從搜索引擎190檢索搜索請求頁面154。搜索請求頁面154包括主搜索關 鍵字區域415和簡檔名區域420。主搜索關鍵字區域415允許用戶經由終端 121輸入一個或多個主搜索關鍵字。簡檔名區域420允許用戶指定簡檔152 的名稱或其他標識符。應用150向搜索引擎190發送所輸入的主搜索關鍵字 415和由簡檔名420指定的簡檔152。
搜索引擎190搜索包括與主關鍵字415匹配的項目的頁面138,并且將 搜索結果頁面158發送給應用150,如圖4所示,其渲染并顯示搜索結果頁 面158。搜索結果頁面158包括根鏈接425-1 、 425-2和425-3,其指向包括 與主搜索關鍵字415相匹配的項目的頁面。根鏈接425-1 、 425-2和425-3指 向路徑,并且搜索引擎190向這些路徑搜索包括與在由簡檔名420標識的簡 檔152中指定的持久搜索關鍵字310相匹配的項目210-1和210-2的后代頁 面。搜索引擎190搜索位于路徑中小于或等于在由簡檔名420標識的簡檔152 中指定的深度315的層上的后代頁面。(例如,如圖3所示,頁面138-3位于 源自其根頁面138-1的其路徑上的層1,而頁面138-10位于源自其根頁面 138-1的其路徑上的層3,并且1和3都小于或等于深度315的示例值3)。 搜索引擎190找到在源自根頁面的路徑上的、深度315內的層上的后代頁面, 將指向那些后代頁面的后代鏈接(例如,后代鏈接430-1和430-2 )存儲到 后代結果頁面156中,并且將后代結果頁面156發送給應用150。
如果在由簡檔名420標識的簡檔152中指定了選項325-1,則如圖4所 示,應用150在不同于搜索結果頁面158的窗口中顯示后代結果頁面156。 如果在由簡檔名420標識的簡檔152中指定了選項325-2,則應用150經由 在后代結果頁面156中找到的后代鏈接430-1和430-2來從服務器計算機系 統135 ;險索后代頁面138-3和138-10,并且經由終端121顯示頁面138-3和 138-10。如果在由簡檔名420標識的簡檔152中指定了選項325-3,則應用 150將后代結果頁面156與標簽405相關聯,并且響應于標簽405的選^^而 顯示后代結果頁面156。例如,可由用戶經由鍵盤、鼠標、語音命令、或使 用終端121的其他選擇技術,來選擇標簽。 、
如果在由簡檔名420標識的簡檔152中指定了選項325-4,則應用150
高亮顯示或彩色顯示搜索結果頁面158中的、指向包括后代頁面的路徑的根
鏈接(顯示具有色彩的鏈接)。例如,搜索結果頁面158中的根鏈接425-2指 向包括后代頁面138-3的路徑,于是,應用150高亮顯示或彩色顯示根鏈接 425-2。作為另一示例,搜索結果頁面158中的根鏈接425-3指向包括后代頁 面138-IO的路徑,于是,應用150高亮顯示或彩色顯示根鏈接425-3。如圖 2所示,因為根鏈接425-3指向頁面138-4,其中頁面138-4包括指向頁面 138-8的嵌入鏈接,頁面138-8包括指向頁面138-1Q的嵌入鏈接,所以,根 鏈接425-3指向包括后代頁面138-10的路徑。
如果在由簡檔名420標識的簡檔152中指定了選項325-5,則應用150 將后代鏈接430-1和430-2添加到書簽的列表(下文中將參照圖5進一步描 述書簽),使得用戶將來可容易地檢索到所找到的(各個后代鏈接430-1和 430-2所指向的)后代頁面138-3和138-10。如果在由簡檔名420標識的簡 檔152中指定了選項325-6,并且如果用戶已通過將相同的關鍵字輸入到主 關鍵字415中超過閾值325-7的次數而搜索了相同的主搜索關鍵字,則應用 150將主搜索關鍵字415存儲到由簡檔名420標識的簡檔152中的持久搜索 關鍵字310中。
圖5繪出了根據本發明的實施例、用于經由鏈接檢索頁面的示例用戶界 面500的框圖。應用150經由終端121顯示應用用戶界面500。應用用戶界 面500包括標簽505 、書簽510、用于根頁面鏈接的輸入區域515、用于簡檔 名的輸入區域520、以及頁面138-1。圖5還包括后代結果頁面156以及后代 頁面138-3和138-10。
書簽510存儲到頁面的鏈接的列表以及相關聯的標題、摘要或描述。書 簽510是讓用戶指定由應用150從服務器計算機系統135檢索的頁面的技術。 簡檔名區域520允許用戶指定簡檔152的名稱或其他標識符。
如果由簡檔名520標識的簡檔152指定了根頁面準則320-2,則響應于 書簽510中的鏈接的選擇,應用150在用戶界面500的區域515中顯示書簽 鏈接(到根頁面的鏈接),檢索書簽鏈接所指向的根頁面138-1,并且在終端 121上渲染和顯示根頁面138-1。如果由簡檔名520標識的簡檔152指定了根 頁面準則320-4,則響應于4連接地址515的人工用戶輸入,應用15(H全索鏈 接515指向的根頁面(此例中是頁面138-1 ),并且在終端121上渲舉和顯示 根頁面138-1。如前面參照圖2所述,根頁面138-1包括指向其孩子頁面
138-2、 138-3和138-4的嵌入孩子鏈接525-1 、 525-2和525-3。
同樣,響應于鏈接515和簡檔名520的指定,搜索引起190進一步向搜 索引擎190提交搜索請求,其請求搜索引擎190搜索在位于源自根頁面138-1 (鏈接515指向的頁面,無論是經由人工文本輸入或標簽而輸入)的路徑上 的層上的后代頁面中包括的持久搜索關鍵字310,其中所述層在源自根頁面 138-1的深度315內(小于或等于深度315 )。
搜索引擎190接收具有簡檔和到根頁面138-1的鏈接的搜索請求,并且 作為響應,執行搜索在位于源自根頁面138-1的路徑上的層上的后代頁面中 包括的持久搜索關鍵字310,其中所述層在源自根頁面138-1的深度315內 (小于或等于深度315 )。搜索引擎190在源自根頁面的路徑上的深度315內 的層上找到后代頁面138-3和138-10,將指向這些后代頁面的后代鏈接530-1 和530-2存儲到后代結果頁面156中,并將后代結果頁面156發送到應用150。 (例如,頁面138-3位于源自其根頁面138-1的其路徑上的層1,而頁面 138-10位于源自其根頁面138-1的其路徑上的層3,并且1和3都小于或等 于3,即深度315。)
如果由簡檔名520標識的簡檔152指定了選項325-1 ,則應用150在不 同于所檢索到的根頁面138-1的窗口中顯示后代結果頁面156。如果在由簡 檔名520標識的簡檔152指定了選項325-2,則應用150經由在后代結果頁 面156中找到的后代鏈接525-1和525-2來檢索后代頁面138-3和138-10, 并經由終端121顯示后代頁面138-3和138-10。如果由簡檔名520標識的簡 檔152指定了選項325-3,則應用150將后代結果頁面156與標簽505相關 聯,并在例如經由鍵盤、鼠標、語音命令、或終端121上的其他選擇技術而 選擇了標簽505的情況下,顯示后代結果頁面156。
如果由簡檔名520標識的簡檔152指定了根頁面準則325-4,則應用150 高亮顯示或彩色顯示(顯示具有色彩的鏈接)根頁面138-1中的、指向包括 后代頁面138-3和138-10的路徑的鏈接。例如,根頁面138-1中的鏈接525-2 指向包括后代頁面138-3的路徑,于是,應用150高亮顯示或彩色顯示鏈接 525-2。作為另一示例,根頁面138-1中的鏈接525-3指向包括后代頁面138-10 的路徑,于是,應用150高亮顯示或彩色顯示鏈接525-3。如先前參照圖2 所述,因為鏈接525-3指向頁面138-4,其中頁面138-4包括指向f面138-8 的嵌入鏈接,頁面138-8包括指向頁面138-10的嵌入鏈接,所以,鏈接525-3
指向包括后代頁面138-10的路徑。
如果在由簡檔名520標識的簡檔152中指定了選項325-5,則應用150 將后代鏈接530-1和530-2添加到書簽510,使得用戶將來可容易地檢索到 所找到的(各個后代鏈接530-1和530-2指向的)后代頁面138-3和138-10。
圖6繪出了根據本發明的實施例的用于索引192的示例數據結構的框圖。 如下面進一步參照圖7所述,搜索器194創建索引192。索引192包括每個 頁面138的地址605、項目列表610、標題615、摘要620、頁面流行度625、 傳出(outgoing)鏈接645、以及傳入(incoming)鏈接650。
地址605包括頁面138在服務器135處的URL或其他地址。項目列表610 包括由地址605標識的頁面138中的每個項目的項目條目630的列表。每個 項目條目630包括項目635和項目權重640。項目635包括頁面138中的詞 或詞組。權重640指示相關聯的項目635與項目列表610中的其他項目635 (其表示由地址605標識的頁面中的其他詞)相比的相對權重、顯著度或重 要性。
搜索器194可基于權重640的相關聯的項目635在頁面(由地址605指 向)上的位置和/或相關聯的項目635在頁面138上出現的頻率,來確定該權 重640。例如,搜索器194可對在標題或頭部出現的項目分配更高的權重, 這是因為,搜索器194假定在標題或頭部出現的項目比在頁面中的其他位置 上出現的項目更相關或更重要。另夕卜,搜索器194也可以向接近頁面頂部(如 在標題行(headline)或在前幾段文本中)出現的項目分配更高的權重,這 是因為,搜索器194假定與主題有關的任何頁面將在開始處提及那些詞。另 外,搜索器194也可以向以較大字體大小出現的項目分配比以較小字體大小 出現的項目更高的權重,這是因為,搜索器194假定以較大字體顯示的項目 比以較小字體顯示的項目更重要。搜索器194也可以向以元標簽(meta tag) 出現的項目分配更高的權重。搜索器194也可以分析項目相對于頁面中的其 他詞是如何頻繁地出現,并向那些更頻繁出現的項目635分配更高的權重。
標題615和摘要620可以是描述相關聯的地址605處的頁面的任何文本、 音頻、視頻或圖像。在另一實施例中,索引192可包括由地址605指向的頁 面的任何部分或全部。頁面流行度625指示地址605處的頁面138與索引192 描述的其他頁面相比的相對重要性。
傳出鏈接645指定在指向地址605處的頁面的孩子頁面的、地址605處
的頁面中嵌入的孩子鏈接。傳入鏈接650指定在包括指向地址605處的頁面 的鏈接的、地址605處的頁面的父母頁面。
圖7繪出了根據本發明的實施例的、用于搜索器194的示例處理的流程 圖。周期性地執行圖7的處理,使得搜索器194可搜尋和處理已被添加到服 務器計算機系統135的、或自從搜索器194上次搜尋到頁面138起修改了的 任何頁面138。
控制從塊700開始。然后,控制繼續到塊705,其中搜索器194進入對 每個頁面138執行一次的循環。搜索器194可搜尋全部頁面138或頁面138 的子集。只要更多頁面138仍要被圖7的邏輯搜尋,控制便從塊705繼續到 塊710,其中搜索器194從服務器計算機系統135檢索當前頁面138。
然后,控制繼續到塊715,其中搜索器194將當前頁面138添加到索引 192。將當前頁面138添加到索引192包括在地址605中存儲當前頁面138 的地址,選擇并在索引192的項目635中存儲在當前頁面138中存在的項目, 計算和存儲索引192中所選擇的項目的權重640,并且找到和存儲該頁面的 傳出鏈接645 (頁面中的嵌入孩子鏈接)和傳入鏈接650。在一個實施例中, 搜索器194追蹤當前頁面的傳出鏈接645到當前頁面的傳出鏈接645所指向 的孩子頁面,并且設置孩子頁面的傳入鏈接650,以指示當前頁面是該孩子 頁面的傳入鏈接。搜索器194還可以從頁面選擇和存儲信息,如標題615、 摘要620、或者頁面138中的一些或全部。
搜索器194可使用任何合適的技術來選擇項目635和權重640。例如, 在一個實施例中,搜索器194可選#^忽略頁面138中的短的常用詞語(例如, "a (—個)"、"and (和)"以及"the (該)"),并且不在項目635中存儲這 些詞語。在一個實施例中,搜索器194可基于所選項目635在當前頁面138 中的位置和/或頻率來選擇權重640。例如,搜索器194可向那些在頁面138 的標題部分中出現的所選項目635分配較高的權重640,并向那些在頁面138 的底部出現的項目635分配更較的權重640。在一個實施例中,搜索器194 可向那些在頁面138中被使用得較頻繁的項目635分配較高的權重640,而 向那些在頁面138中使用得較不頻繁的項目635分配較低的權重640。在一 個實施例中,搜索器194可向那些在頁面138中具有較大字體大小的項目635 分配較高的權重640,而向那些在頁面138中具有較小字體大小的項'目635 分配較低的權重640。在一個實施例中,搜索器194可向那些在元標簽內的項目635分配較高的權重640,而向那些不在頁面138的元標簽內的項目635 分配專交低的權重640。
在各種實施例中,搜索器194可經由閉合題目標簽、副本(transcript )、 以及用于分析音頻或音頻與視頻的語音識別技術來找到頁面138中的項目。 但是,在其他實施例中,搜索器194可使用任何合適的技術來從頁面138選 擇用來存儲在項目635中的項目,以及選擇用于那些項目635的權重640。
控制繼續到塊705,其中,如先前所述的,搜索器194確定是否還存在 要被搜尋的另一頁面。
如果搜索器194已搜尋到每個頁面138或頁面138的子集中的每個頁面, 則控制從塊705繼續到塊725,其中搜索器194計算索引192中的每個頁面 138的頁面流行度625 。在一個實施例中,搜索器194可使用頁面上 (on-the-page)準則或頁面外(off-the-page)準則中的一個或兩者來確定頁 面流行度625。頁面上準則可包括由索引描述的各個頁面中的項目635的相 對4又重640。
頁面外流行度準則使用在頁面本身的外部的數據。頁面外流行度準則的 一個例子是鏈接分析,其中搜索器194分析頁面如何彼此鏈接,已確定頁面 相對于其他頁面的相對重要性。例如,搜索器194可向具有許多傳入鏈接650 的頁面(許多其他頁面鏈接到的頁面,這是因為,這樣的頁面很可能是重要 的頁面)分配較高的頁面流行度625。此外,搜索器194可使用遞歸頁面流 行度,其中鏈接到被鏈接頁面的頁面的頁面流行度6 2 5也是被鏈接頁面的流 行度的因素。頁面流行度625是數值,其表示頁面與索引192中描述的所有 其他頁面相比有多么重要。頁面流行度625基于如下思想當一個頁面鏈接 到另一頁面時,其有效地對其他頁面投票。頁面得到的投票越多,則該頁面 越重要。而且,在一個實施例中,被投票的頁面的重要性確定投票本身有多 么重要。.
然后,控制繼續到塊799,其中圖7的邏輯返回。
圖8和圖9繪出了使用簡檔152來搜索根頁面的后代頁面的示例處理的 流程圖。在圖8中,經由鏈接來檢索根頁面。在圖9中,通過搜索來找到根 頁面,并且,根頁面包括與主搜索關鍵字相匹配的項目。
在圖8中,控制在塊800開始。然后,控制繼續到塊805,其中應用150 在終端121上呈現或顯示簡檔用戶界面300,從簡檔用戶界面300接收l命入
數據,并且將輸入數據保存到由簡檔名305命名的簡檔152。輸入數據可包 括簡檔名305 、持久搜索關鍵字310、深度315、根頁面選項320-1、 320-2、 320-3或320-4的指定、以及選項325-1 、 325-2、 325-3、 325-4、 325-5 、 325-6 和/或325-7的指定。
然后,控制繼續到塊810,其中應用150接收到根頁面的鏈接和檢索根 頁面的請求,例如,經由用戶界面500和輸入到輸入區域515中的人工文本, 通過從書簽510選擇鏈接,或者通過選擇在父母頁面中嵌入的孩子鏈接來接 收該鏈接和請求。應用150還可經由簡檔名區域520來接收可選的簡檔名。 然后,控制繼續到塊815,其中,應用150向服務器計算機系統135發送檢 索由該鏈接指向的根頁面的請求。
然后,控制繼續到塊820,其中應用150確定是否從用戶界面500接收 到簡檔152、或者簡檔152對于根頁面的檢索來說是激活的且包含有效數據。 應用150還確定所接收的鏈接是否滿足在簡檔152中指定的根頁面準則320。 即,如果在所接收的、由筒檔名520命名的簡檔152中指定了根頁面準則 320-2,則應用150確定所接收的鏈接是否是經由選擇書簽510而接收的;如 果在所接收的、由簡檔名520命名的簡檔152中指定了根頁面準則320-3, 則應用150確定所接收的鏈接是否是從所選擇的、父母頁面中的嵌入孩子鏈 接接收的;以及如果在所接收的、由簡檔名520命名的簡檔l52中指定了根 頁面準則320-4,則應用150確定所接收的鏈接是否是從輸入區域515中人 工輸入的地址4妄收的。
如果塊820處的確定為真,則簡檔152已被接收到、或者對于根頁面的 檢索來說是激活的且包含有效數據,并且,該鏈接滿足在由簡檔名520命名 的簡檔152中指定的簡檔根準則320,則控制繼續到塊825,其中應用150向 搜索引擎190發送具有簡檔152和指向根頁面的鏈接的搜索請求。在另一實 施例中,應用15Q向搜索引擎190發送從簡檔152選擇的數據(如持久搜索 關鍵字310和深度315 )、以及指向根頁面的鏈接。搜索請求指示搜索引擎190 針對與持久搜索關鍵字310相匹配的項目來搜索(由該鏈接指向的)根頁面 的后代頁面,其中該后代頁面是根頁面的后代,且存在于源自根頁面的路徑 的層上,并且其中,所述層在深度315內、直到深度315、或者小于或等于 深度315。 s
然后,控制繼續到塊830,其中搜索引擎190接收具有筒檔152和到根
頁面的鏈接的搜索請求。如后面參照圖11進一步詳細描述的,響應于該請求,
搜索引擎190執行搜索,并將后代結果頁面156發送給應用150。
然后,控制繼續到塊835,其中應用150從服務器接收根頁面(如先前 在上面所述的,先前在塊815請求的),并且經由終端121渲染(格式化)和 顯示該根頁面(例如,如圖5所示的根頁面138-1 )。然后,控制繼續到塊840, 其中應用150從搜索引擎190接收后代結果頁面156。然后,控制繼續到塊 845,其中應用150確定在簡檔152中指定的選項325,并且#1行由選項325 指定的動作。
如果應用150確定在簡檔152中指定了自動打開選項325-1,則應用150 在不同于搜索結果頁面的窗口中打開后代結果頁面156。
如果應用150確定在簡檔152中指定了自動檢索選項325-2,則應用150 經由在后代結果頁面156中包括的后代鏈接530-1和530-2來接收和顯示后 代頁面138-3和138-10 (其包括與持久搜索關鍵字310相匹配的項目)。
如果應用150確定在簡檔152中指定了標簽選項325-3,則應用150顯 示標簽505,并且響應于選擇該標簽505,應用150顯示包括指向搜索引擎 190找到的、包含與持久搜索關鍵字310相匹配的項目的后代頁面138-3和 138-10的后代鏈接530-1和530-2的后代結果頁面156。
如果應用150確定在簡檔152中指定了色彩選項325-4,則應用150高 亮顯示或以規定彩色顯示在根頁面138-1中嵌入的那些鏈接,所述鏈接指向 包括搜索引擎190找到的、包含與持久搜索關鍵字310相匹配的項目210-1 和210-2的后代頁面138-3和138-10的路徑。鏈接通過指向路徑中的頁面而 指向該路徑。
如果應用150確定在簡檔152中指定了創建書簽選項325-5,則應用150 向書簽510添加指向各個后代頁面138-3和138-10的鏈接530-1和530-2。
然后,控制繼續到塊850,其中應用150確定所接收的根頁面是否是提 供用于向搜索引擎190提交搜索的界面的搜索請求頁面(如先前參照圖4所 述的搜索請求頁面154)。
如果塊850處的確定為假,則所接收的根頁面不是搜索請求頁面154, 因此控制返回塊810,其中如上所述,應用150接收另一鏈接。
如果塊850處的確定為真,則所接收的根頁面是搜索請求頁面'154,因 此控制繼續到圖9的塊905,其中操作150從搜索頁面154的用戶界面接收
主搜索關鍵字415。
然后,控制繼續到塊910,其中應用150確定簡檔152是否已被接收到 或者對于搜索請求(包括根頁面準則320-1 )是激活的、且包含有效數據。 如果塊910處的確定為真,則應用接收到簡檔152,并且簡檔152對于根頁 面的檢索是激活的、且包含有效數據,于是控制繼續到塊915,其中應用150 向搜索引擎190發送具有主搜索關鍵字415和由簡檔名420命名的簡檔152 的搜索請求。在另一實施例中,應用150向搜索引擎190發送從簡檔152選 擇的數據(如持久搜索關鍵字310和深度315 )。搜索請求指示搜索引擎190 搜索包括與持久搜索關鍵字310相匹配的項目635的根頁面的后代頁面,其 中所述后代頁面是根頁面的后代,其存在于源自根頁面的路徑的層上,并且 其中,所述層在深度315內、直到深度315、或者小于或等于深度315,并且 其中,搜索引擎190找到包括與主搜索關鍵字相匹配的項目的根頁面。
然后,控制繼續到塊920,其中搜索引擎190接收具有主搜索關鍵字和 簡檔152的搜索請求。如后面參照圖IO進一步詳細描述的,響應于該請求, 搜索引擎190執行搜索,并將后代結果頁面156發送給應用150。
然后,控制繼續到塊925,其中,如先前在上面通過參照圖4而描述的, 應用150從搜索引擎190接收搜索結果頁面158,并且經由終端1"渲染(格 式化)和顯示搜索結果頁面158。然后,控制繼續到塊930,其中應用150從 搜索引擎190接收后代結果頁面156。然后,控制繼續到塊935,其中應用 150確定在簡檔152中指定的選項325 ,并且執行由選項325指定的動作。
如果應用150確定在簡檔152中指定了自動打開選項325-1,則如圖4 所示,應用150在不同于搜索結果頁面158的窗口中打開和顯示后代結果頁 面156。
如果應用150確定在簡檔152中指定了自動檢索選項325-2,則應用150 經由在后代結果頁面156 (圖4)中包括的后代鏈接430-1和430-2,來檢索 和顯示后代頁面138-3和138-10 (其包括與持久搜索關鍵字310相匹配的項 目210-1和210-2 )。
如果應用150確定在簡檔152中指定了標簽選項325-3,則應用150將 后代結果頁面156與標簽405相關聯,并顯示標簽405,并且,響,于選擇 該標簽40.5,應用150顯示包括指向搜索引擎190找到的、包含與持久搜索 關4建字310相匹配的項目430-1和430-2的后代頁面138-3和138-10的后代
鏈接430-1和430-2的后代結果頁面156。
如果應用150確定在簡檔152中指定了色彩選項325-4,則應用150高 亮顯示或以規定彩色顯示在搜索結果頁面158中嵌入的那些根鏈接,其中搜 索結果頁面158指向包括搜索引擎190找到的、包含與持久搜索關鍵字310 相匹配的項目的后代頁面138-3和138-10的路徑。鏈接通過指向路徑中的頁 面而指向該44圣。
如果應用150確定在簡檔152中指定了創建書簽選項325-5,則應用150 向書簽510添加指向各個后代頁面138-3和138-10的鏈接430-1和430-2。
然后,控制繼續到塊940,其中應用150對用戶通過搜索請求提交、且 由搜索引擎190搜索到主搜索關鍵字415的次數進行計數。應用150還確定 該次數是否大于閾值325-7。如果已向搜索引擎190提交主搜索關鍵字415 用于搜索的次數大于閾值325-7,則應用150將該主搜索關鍵字415添加到 簡檔152中的持久搜索關鍵字310,使得在下次使用簡檔152來搜索后代頁 面時,搜索引擎190搜索持久搜索關鍵字310,其中的一些是在先前的搜索 中使用的主關鍵字415。
然后,控制返回塊810 (圖8),其中如先前所述,應用150接收另一鏈接。
如果塊910處的確定為假,則簡檔152不是激活的,不包括根準則320-1, 或者未接收到針對搜索請求的簡檔,因此控制返回到塊9",其中應用150 向搜索引擎190發送具有主搜索關鍵字415的搜索請求。然后,控制繼續到 塊950,其中如下面進一步參照圖IO所述的,搜索引擎190搜索主搜索關鍵 字415。然后,控制繼續到塊955,其中應用150從搜索引擎190接收搜索結 果頁面158,并渲染和顯示搜索結果頁面158。然后,控制返回到塊810(圖 8),其中如先前所述,應用150接收另一鏈接。
再次參照圖8,如果塊820處的確定為假,則未接收到簡檔152、鏈接不 滿足根準則320、或者不是激活的,因此控制繼續到塊855,其中應用150從 服務器接收根頁面,并渲染和顯示根頁面。如先前所述,然后,控制繼續到 塊850。
圖10繪出了根據本發明的實施例、用于使用簡檔搜索頁面的示例處理的 流程圖。控制在塊1000開始。然后,控制繼續到塊1005,其中應用、150接 收具有主搜索關鍵字415和可選筒檔152的搜索請求,簡檔152包括來自應
用150的持久搜索關鍵字310和深度315。
然后,控制繼續到塊1010,其中搜索引擎190啟動對索引192中包括與 主搜索關鍵字415相匹配(相同)的項目635的每個頁面執行一次的循環。 只要塊1010的確定為真,則存在還未被從塊1005開始的循環處理的當前頁 面、且當前頁面包含與主搜索關鍵字415相匹配的項目635,因此控制繼續 到塊1015,其中搜索引擎190將當前頁面的總數(total)設置為0。
然后,控制繼續到塊1020,其中搜索引擎190進入對與主搜索關鍵字415 相匹配的當前頁面中的每個項目635執行一次的循環。只要當前頁面包括與 主搜索關鍵字415相匹配的當前項目635、且當前項目635還未被從塊1020 開始的塊處理,則控制便繼續到塊1025,其中搜索引擎190將當前頁面總數 設置為當前頁面總數加上被分配給當前頁面中的當前項目635的、索引192 中的權重640。然后,控制返回塊1020,其中搜索引擎190將當前匹配項目 635設置為當前頁面中的下一匹配項目635,并且確定當前頁面中的所有匹配 項目635是否已被從塊1020開始的循環處理。
一旦已經處理了當前頁面的所有匹配項目635,則完成了從塊1020開始 的循環,因此控制從塊1020繼續到塊1030,其中搜索引擎190將當前頁面 的匹配分數(score)設置為由從塊1020開始的循環所計算的當前頁面總數乘 以當前頁面的頁面流行度625。在一個實施例中,當前頁面匹配分數由此指 示當前頁面包括與主搜索關鍵字415相匹配的項目635的相關程度、當前頁 面中的項目635在當前頁面中重要性的相關程度、以及/或與索引192所描述 的其他頁面相比當前頁面的流行性或重要性的相關程度。
然后,控制繼續到塊1035,其中搜索引擎190確定當前頁面匹配分數是 否大于匹配閾值。在一個實施例中,匹配閾值是0,意味著包含即使一個與 主搜索關鍵字415相匹配的項目的頁面也是相關的,而不管項目在當前頁面 內的位置,也不管當前頁面的不流行度。在其他實施例中,匹配闊值可以是 固定的或可變的。例如,在一個實施例中,搜索引擎190與找到的根頁面的 后代頁面的數目成比例地、與找到包括匹配關鍵字的項目的根頁面的后代頁 面的數目成比例地、與根頁面中的孩子鏈接的數目成比例地、與源自每個、 一些或所有孩子鏈接的路徑的數目成比例地、或基于任何其他合適的準則, 來改變匹配閾值。搜索引擎190可改變匹配閾值,以便將相關路徑和直接后 代鏈接的數目調整為可由用戶管理且對用戶有用的水平。
如果塊1035處的確定為真,則當前頁面匹配分數高于匹配閾值,于是控
制從塊1035繼續到塊1040,其中搜索引擎190將指向當前頁面的鏈接添加 到搜索結果頁面158,按照搜索結果頁面158中鏈接的匹配分數進行排序。 然后,控制繼續到塊1045,其中搜索引擎190確定是否接收到簡檔152。如 果塊1045處的確定為真,則接收到簡檔152,因此控制繼續到塊1050,其中 如下面進一步參照圖11所述,搜索引擎190利用簡檔152,向在直到深度315 的路徑上的根頁面(當前頁面)的后代頁面搜索與持久搜索關鍵字310相匹 配的項目。然后,控制返回到塊IOIO,其中如先前所述,搜索引擎190將當 前頁面設置為包括與主搜索關鍵字415相匹配的項目635的下一頁面。
如果塊1035處的確定為假,則當前頁面匹配分數不高于匹配閾值,因此 如先前所述,控制從塊1035返回到塊1010。
如果塊1045處的確定為假,則未接收到簡檔152,因此如先前所述,控 制返回到塊1010。
當在索引192中描述的、且包括與主搜索關鍵字415相匹配的項目635 的所有頁面已被從塊1010開始的循環處理過時,該循環完成,因此控制從塊 1010繼續到塊1055,其中搜索引擎190向應用150發送搜索結果頁面158。 然后,控制繼續到塊1055 ,其中圖10的邏輯返回。
圖11繪出了根據本發明的實施例、利用簡檔152來搜索根頁面的后代頁 面的示例處理的流程圖。控制從塊1100開始。然后,控制繼續到塊1105, 其中搜索引擎190接收簡檔152 (或從筒檔152選擇的數據)以及到根頁面 的鏈接。在一個實施例中,搜索引擎190從應用150接收簡檔152和鏈接, 其是如先前參照圖8的塊825所述的那樣、由應用150發送的。在另一實施 例中,如前面參照圖10的塊1050所述,搜索引擎190從搜索引擎邏輯內部 地接收簡檔152和鏈接。
然后,控制繼續到塊1110,其中搜索引擎190將當前層設置為1,代表 源自根頁面(其由所接收的到根頁面的鏈接所指向)的第一層。在一個實施 例中,當前層是搜索引擎190當前沿著源自根頁面的路徑進行搜索所在的層, 但在其他實施例中,可使用任何合適的搜索技術和層跟蹤機制。然后,控制 繼續到塊1115,其中圖11的邏輯進入對遠離根頁面的每個層執行一次的循 環,直到深度315 (要搜索的最大層)。在塊1115,針對與持久搜索關鍵字 310相匹配的項目,搜索引擎190向索引192搜索位于當前層(在源自根頁
面的路徑上)上的、根頁面的后代頁面。
如果當前層等于1,則搜索引擎190在根頁面中找到孩子鏈接,然后在
匹配孩子鏈接的索引192中找到地址605。與所找到的、匹配根頁面的孩子 鏈接的地址605相關聯的索引192中的項目635是孩子頁面中的項目635, 因此它們是源自根頁面的層1上的后代頁面。如果當前層大于1,則搜索引 擎190追蹤與根頁面的地址605相關聯的傳出鏈接645,以便找到層2上的、 索引192中的后代頁面。搜索引擎190重復此過程,以便找到其他層上的后 頁面。
然后,控制繼續到塊1120,其中搜索引擎190通過確定與后代頁面的地 址605相關聯的索引192中的任何項目635是否與持久搜索關鍵字310相同, 來確定是否找到作為當前層上的、根頁面的任何后代頁面中的項目635的任 何持久搜索關鍵字310。
如果塊1120處的確定為真,則在索引192中描述的且存在于當前層(在 源自根頁面的路徑上)上的頁面包含與所接收的持久搜索關鍵字310之一相 匹配(相等)的項目635,因此控制繼續到塊1125,其中搜索引擎1M確定 當前層上的、包含與持久搜索關鍵字310相匹配的項目635的所有后代頁面 是否在源自根頁面的、成為循環的路徑上。
如果塊1125處的確定為真,則當前層上的、包含與持久搜索關鍵字310 相匹配的項目635的所有后代頁面都在源自根頁面的、成為循環的路徑上, 于是控制繼續到塊1130,其中搜索引擎190將當前層增加1。然后,控制繼 續到塊1135,其中搜索引擎190確定當前層是否大于深度315 (遠離根頁面 的、搜索引擎190要搜索的最大層)。
如果塊1135處的確定是真,則當前層大于深度315,于是遠離根頁面的、 深度315內的所有層已經被圖11的邏輯搜索過。由此,不需要搜索更多頁面, 并且搜索引擎190停止搜索頁面。
然后,控制繼續到塊1140,其中搜索引擎190將后代結果頁面156發送 給應用150。然后,控制繼續到塊1199,其中圖ll的邏輯返回。
如果塊1135處的確定為假,則當前層不大于深度315,并且源自根頁面 的、深度315內的更多層留待搜索,于是控制返回到塊1115,其中如前所述, 搜索引擎190繼續在新的當前層上搜索。
如果塊1125處的確定為假,則在當前層上存在包括與匹配持久搜索關鍵 字310相匹配的項目635的至少一個后代頁面,并且在源自根頁面的、不是 循環的路徑(例如,路徑205 )上存在至少一個后代頁面,因此控制繼續到 塊1145,其中搜索引擎將指向所找到的后代頁面(其包含與匹配持久搜索關 鍵字310相匹配項目210-1或210-2,且在不是循環的路徑上)的后代鏈接 430-1和430-2添加到后代結果頁面156。然后,控制繼續到塊1130,其中 如前所述,搜索引擎使當前層遞增。
如果塊1120處的確定為假,則在索引192中描述為存在于從根頁面沿著 路徑的當前層上的所有頁面不包括與匹配持久搜索關鍵字310相匹配的項目 635,因此控制繼續到塊1130,其中如前所述,搜索引擎19Q將當前層遞增 到下一層。
盡管上面已將本發明的實施例的各種功能描述為由服務器計算機系統 132處的搜索引擎190以及由客戶機計算機系統100處的應用150來實現, 但在其他實施例中,被描述為在應用150中實現的本發明的功能可在搜索引 擎190中實現,并且,反之亦然。由此,在各種實施例中,請求方(提供到 根頁面的鏈接、請求搜索、并提供主和持久搜索關鍵字和其他數據)可以是 選擇界面元素、輸入數據和觀看用戶界面300、 400或500的用戶,或者,請 求方可以是發送數據到搜索引擎190的應用150。
在本發明的示例實施例的先前的具體描述中,參照了形成本發明 一部分 的附圖(其中相同的附圖標記表示相同的元素),并且附圖中通過例示的方式 示出了實踐本發明的特定示例實施例。足夠詳細地描述了這些實施例,以使 得本領域技術人員能夠實踐本發明,但是可采用其他實施例,并且可進行邏 輯、機械、電學和其他的改變,而不會脫離本發明的范圍。在先前的描述中, 闡述了多個特定細節以提供本發明的實施例的完整的理解。但是,沒有這些 特定細節也可以實踐本發明。在其他實例中,為了不混淆本發明,未示出公 知電^各、結構和纟支術。
在此說明書中使用的詞語"實施例"的不同實例不必指示相同的實施例, 但它們可以。在此示出或描述的任何數據和數據結構僅僅是示例,并且在其 他實施例中,可使用不同的數據數量、數據類型、字段、字段數目和類型、 字段名、行的數目和類型、記錄、條目或數據組織。此外,任何數據可與邏 輯相組合,從而分離的數據結構不是必要的。因而,先前的詳細說坍不應當 作限制意義的,并且僅僅由所附權利要求限定本發明的范圍。
權利要求
1、一種方法,包括從請求方接收請求,其中所述請求包括主關鍵字和簡檔,其中所述簡檔包括至少一個持久關鍵字;響應于該請求,找到根頁面,其中所述根頁面包括匹配所述主關鍵字的第一項目;響應于該請求,找到第一后代頁面;以及確定所述第一后代頁面是所述根頁面的后代,以及所述第一后代頁面包括匹配所述持久關鍵字的第二項目。
2、 如權利要求l所述的方法,還包括向所述請求方發送根鏈接和后代鏈接,其中所述根鏈接指向所述根頁面, 并且所述后代鏈接指向所述第一后代頁面。
3、 如權利要求l所述的方法,還包括向所述根頁面的多個后代頁面搜索匹配所述持久關鍵字的第二項目,其 中,所述搜索還包括確定所述多個后代頁面位于源自所述根頁面的多個路 徑上的多個層,以及確定所述層在距離根頁面的一個深度內,其中所述簡檔還包括所述深度。
4、 如權利要求l所述的方法,還包括響應于找到所述第一后代頁面,向所述請求方發送指向所述第 一后代頁面的后代鏈接。
5、 如權利要求l所述的方法,還包括對已從請求方接收到所述主關鍵字的次數進行計數;以及如果所述次數大于閾值數,則將所述主關鍵字添加到所述簡檔中的至少一個持久關鍵字。
6、 如權利要求2所述的方法,還包括 顯示所述根鏈接;顯示標簽;以及響應于所述標簽的選擇,經由所述后代鏈接而檢索所述第一后代頁面。
7、 如權利要求l所述的方法,還包括 將所述后代鏈接添加到書簽。
8、 一種通過指令編碼的信號承載介質,其中所述指令在被執行時包括前 述權利要求所述的任一方法的步驟。
9、 一種計算機系統,包括 處理器;以及連接到所述處理器的存儲器,其中該存儲器對指令進行編碼,所述指令 在被所述處理器執行時包括從請求方接收請求,其中所述請求包括主關鍵字和簡檔,其中所述 簡檔包括至少 一個持久關鍵字;響應于該請求,找到多個#^頁面,其中所述多個^f艮頁面包括匹配所 述主關鍵字的第一項目;響應于該請求,搜索作為所述多個根頁面的后代的多個后代頁面;以及確定所述多個后代頁面之中的第一后代頁面包括匹配所述持久關鍵 字的第二項目。
10、 如權利要求9所述的計算機系統,其中所述指令還包括 向所述請求方發送指向所述多個根頁面的多個根鏈接;以及 向請求方發送指向所述第一后代頁面的第一后代鏈接。
11、 如權利要求9所述的計算機系統,其中所述確定還包括確定所述多個后代頁面位于源自根頁面的多個路徑上的多個層,以及確 定所述層在距離根頁面的一個深度內,其中所述簡檔還包括所述深度。
12、 如權利要求9所述的計算機系統,其中所述指令還包括 對已從請求方接收到所述主關鍵字的次數進行計數;以及如果所述次數大于閾值數,則將所述主關鍵字添加到所述簡檔中的至少 一個持久關鍵字。
13、 如權利要求IO所述的計算機系統,其中所述指令還包括 顯示所述多個根鏈接;顯示標簽;以及響應于所述標簽的選擇,經由所述第 一后代鏈接而檢索所述第 一后代頁面。
14、 如權利要求10所述的計算機系統,其中所述指令還包括 顯示所述多個根鏈接;以及彩色顯示指向包括所述第 一后代頁面的路徑的根鏈接。
15、如權利要求11所述的計算機系統,其中所述指令還包括確定包括所述第 一后代頁面的路徑不是循環。
全文摘要
接收包括主關鍵字和持久關鍵字的請求。響應于請求,找到包括與主關鍵字匹配的第一項目的根頁面。向根頁面的后代頁面搜索匹配持久關鍵字的第二項目。該搜索確定后代頁面位于源自根頁面的多個路徑上的多個層,以及這些層位于距離根頁面的一定深度內。找到作為根頁面的后代且包括匹配持久關鍵字的第二項目的后代頁面。將指向根頁面的根鏈接和指向后代頁面的后代鏈接發送給請求方。如果接收主關鍵字的次數大于閾值數,則將主關鍵字添加到持久關鍵字。
文檔編號G06F17/30GK101201843SQ20071018160
公開日2008年6月18日 申請日期2007年10月19日 優先權日2006年12月12日
發明者布賴恩·P·沃倫費爾特, 扎卡里·A·加鮑, 理查德·M·泰斯, 蒂莫西·P·克拉克 申請人:國際商業機器公司