專利名稱:使用虛擬文檔進(jìn)行索引和搜索的制作方法
使用虛擬文檔進(jìn)行索引和搜索
背景技術(shù):
搜索引擎發(fā)現(xiàn)并存儲(chǔ)與諸如網(wǎng)頁之類的文檔有關(guān)的信息,搜索引擎一般從文檔的代碼中檢索這些信息。有時(shí)文檔由爬行器或自動(dòng)化瀏覽器來檢索,它們可追蹤文檔中或網(wǎng)站上的鏈接。傳統(tǒng)爬行器一般將文檔作為平面文本文件來分析,檢查詞語以及它們的位置(例如,標(biāo)題、頭部或特殊字段)。關(guān)于經(jīng)分析的文檔的數(shù)據(jù)可被存儲(chǔ)在索引數(shù)據(jù)庫中以供在稍后查詢時(shí)使用。查詢可包括單個(gè)詞語或詞語的組合。許多文檔包括除文本數(shù)據(jù)以外的圖形、視頻、音頻、以及類似元素。文檔之間的鏈接(例如,到其他文檔的超鏈接)也很常見。此外,諸如文字處理文檔或電子表格等文檔可包含可在多個(gè)文檔之間共享的來自外部源的數(shù)據(jù)。此外,還經(jīng)常將整個(gè)文檔嵌入其他文檔中?;谄矫嫖谋镜乃阉鞑灰欢ú蹲轿臋n之間以及文檔與數(shù)據(jù)源(如上述數(shù)據(jù)源)之 間的多維關(guān)系。為了捕捉鏈接/嵌入的文檔之間的或文檔與數(shù)據(jù)源之間的關(guān)系,必須執(zhí)行多個(gè)搜索,從而在呈現(xiàn)搜索結(jié)果時(shí)增加了對(duì)系統(tǒng)資源的使用和/或丟失了關(guān)系信息。
發(fā)明內(nèi)容
提供本發(fā)明內(nèi)容以便以簡(jiǎn)化的形式介紹將在以下的具體實(shí)施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并不旨在專門標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。各實(shí)施例涉及通過虛擬文檔來捕捉并呈現(xiàn)鏈接和/或嵌入的文檔以及共享(諸)數(shù)據(jù)源的文檔之間的關(guān)系。根據(jù)一些實(shí)施例,可創(chuàng)建表示與相關(guān)文檔相關(guān)聯(lián)的鏈接/嵌入的文檔和數(shù)據(jù)源的虛擬文檔。真實(shí)和虛擬文檔之間的關(guān)系可被保存,并且作為圖連同搜索結(jié)果一起呈現(xiàn),從而向用戶提供搜索結(jié)果的全面描繪。通過閱讀下面的詳細(xì)描述并參考相關(guān)聯(lián)的附圖,這些及其他特點(diǎn)和優(yōu)點(diǎn)將變得顯而易見??梢岳斫?,前述一般描述和以下的詳細(xì)描述都是說明性的,并且不限制所要求保護(hù)的各方面。附圖簡(jiǎn)述圖I是示出網(wǎng)絡(luò)搜索環(huán)境中的基于虛擬文檔的搜索操作的概念圖;圖2是示出使用虛擬文檔來捕捉鏈接/嵌入/來自外部源的文檔之間的關(guān)系的搜索操作的概念圖;圖3示出在根據(jù)一些實(shí)施例的系統(tǒng)中通過虛擬文檔來捕捉鏈接的文檔之間的關(guān)系;圖4示出在根據(jù)其他實(shí)施例的系統(tǒng)中通過虛擬文檔來捕捉共享一數(shù)據(jù)源的文檔之間的關(guān)系;圖5示出在根據(jù)又一些實(shí)施例的系統(tǒng)中通過虛擬文檔來捕捉嵌入的文檔之間的關(guān)系;圖6是可實(shí)現(xiàn)根據(jù)各實(shí)施例的系統(tǒng)的聯(lián)網(wǎng)環(huán)境;圖7是可實(shí)現(xiàn)各實(shí)施例的示例計(jì)算操作環(huán)境的框圖;以及
圖8示出根據(jù)各實(shí)施例的執(zhí)行使用虛擬文檔來捕捉鏈接/嵌入/來自外部源的文檔之間的關(guān)系的搜索的過程的邏輯流程圖。
具體實(shí)施例方式如以上簡(jiǎn)要地描述的,鏈接/嵌入/來自外部源的文檔之間的關(guān)系可在爬行時(shí)通過采用虛擬文檔來捕捉,并與搜索結(jié)果一起被呈現(xiàn)給用戶。在以下詳細(xì)描述中,參考了構(gòu)成了詳細(xì)描述的一部分并作為說明示出了各具體實(shí)施例或示例的附圖。可組合這些方面,可利用其他方面,并且可以做出結(jié)構(gòu)上的改變而不背離本發(fā)明的精神或范圍。因此,以下詳細(xì)描述并不旨在限制,并且本發(fā)明的范圍由所附權(quán)利要求及其等效方案來限定。盡管在結(jié)合在個(gè)人計(jì)算機(jī)上的操作系統(tǒng)上運(yùn)行的應(yīng)用程序執(zhí)行的程序模塊的一般上下文中描述了各實(shí)施例,但是本領(lǐng)域的技術(shù)人員會(huì)認(rèn)識(shí)到各方面也可以結(jié)合其他程序模塊實(shí)現(xiàn)。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組 件、數(shù)據(jù)結(jié)構(gòu)和其他類型的結(jié)構(gòu)。此外,本領(lǐng)域的技術(shù)人員可以明白,各實(shí)施例可以用其他計(jì)算機(jī)系統(tǒng)配置來實(shí)施,包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程消費(fèi)電子產(chǎn)品、小型計(jì)算機(jī)、大型計(jì)算機(jī)以及類似計(jì)算設(shè)備。各實(shí)施例還能在任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來執(zhí)行的分布式計(jì)算環(huán)境中實(shí)現(xiàn)。在分布式計(jì)算環(huán)境中,程序模塊可位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備兩者中。各實(shí)施例可被實(shí)現(xiàn)為計(jì)算機(jī)實(shí)現(xiàn)的過程(方法)、計(jì)算系統(tǒng)、或者諸如計(jì)算機(jī)程序產(chǎn)品或計(jì)算機(jī)可讀介質(zhì)等制品。計(jì)算機(jī)程序產(chǎn)品可以是計(jì)算機(jī)系統(tǒng)可讀并且編碼包括用于使計(jì)算機(jī)或計(jì)算系統(tǒng)執(zhí)行示例過程的指令的計(jì)算機(jī)程序的計(jì)算機(jī)存儲(chǔ)介質(zhì)。例如,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可經(jīng)由易失性計(jì)算機(jī)存儲(chǔ)器、非易失性存儲(chǔ)器、硬盤驅(qū)動(dòng)器、閃存驅(qū)動(dòng)器、軟盤或緊致盤和類似介質(zhì)中的一個(gè)或多個(gè)來實(shí)現(xiàn)。貫穿本說明書,術(shù)語“平臺(tái)”可以是用于管理計(jì)算機(jī)和網(wǎng)絡(luò)操作(其可包括搜索)的軟件和硬件組件的組合。平臺(tái)的示例包括但不限于,在多個(gè)服務(wù)器上執(zhí)行的托管服務(wù)、在單個(gè)服務(wù)器上執(zhí)行的應(yīng)用程序以及類似系統(tǒng)。術(shù)語“服務(wù)器”一般指通常在聯(lián)網(wǎng)環(huán)境中執(zhí)行一個(gè)或多個(gè)軟件程序的計(jì)算設(shè)備。然而,服務(wù)器還可以被實(shí)現(xiàn)為在被視作網(wǎng)絡(luò)上的服務(wù)器的一個(gè)或多個(gè)計(jì)算設(shè)備上執(zhí)行的虛擬服務(wù)器(軟件程序)。以下提供關(guān)于這些技術(shù)和示例操作的更多細(xì)節(jié)。參考
圖1,概念圖100示出了網(wǎng)絡(luò)搜索環(huán)境中的基于虛擬文檔的搜索操作。搜索引擎的質(zhì)量的一個(gè)測(cè)度是盡可能快地找出相關(guān)文檔而不過度消耗系統(tǒng)資源。當(dāng)用戶向搜索引擎提交查詢(例如通過使用關(guān)鍵詞)時(shí),搜索引擎可檢查其索引并根據(jù)預(yù)定義準(zhǔn)則提供匹配結(jié)果的列表。該索引可根據(jù)與數(shù)據(jù)一起存儲(chǔ)的信息和對(duì)該信息進(jìn)行索引的方式來構(gòu)建。查詢可包括諸如布爾運(yùn)算符(例如AND (與)、0R (或)、Ν0Τ (非)等)之類的參數(shù),這些參數(shù)允許用戶細(xì)化并擴(kuò)展搜索的項(xiàng)。然而,常規(guī)搜索引擎通常搜索文檔內(nèi)的文本數(shù)據(jù),并且不檢測(cè)與所找到的文檔相關(guān)聯(lián)的到其他文檔的鏈接、嵌入的文檔、或共享的數(shù)據(jù)源。根據(jù)各實(shí)施例的搜索引擎可采用表示鏈接或嵌入的文檔以及外部數(shù)據(jù)源的虛擬文檔來捕捉鏈接/嵌入/來自外部源的文檔之間的關(guān)系以供后續(xù)呈現(xiàn)給作出請(qǐng)求的用戶,并且在對(duì)文檔進(jìn)行排名時(shí)相應(yīng)地考慮該關(guān)系。搜索操作可以在不同的環(huán)境中執(zhí)行,如在桌面上或在如圖100中所示的聯(lián)網(wǎng)環(huán)境中。圖100中示出的聯(lián)網(wǎng)搜索環(huán)境是為了描述的目的。可在諸如基于企業(yè)的網(wǎng)絡(luò)、基于云的網(wǎng)絡(luò)及其組合等各種聯(lián)網(wǎng)環(huán)境中實(shí)現(xiàn)各實(shí)施例。用戶102可在他們的計(jì)算設(shè)備104中執(zhí)行多個(gè)應(yīng)用程序。這些應(yīng)用程序中的一些可在本地執(zhí)行,而其他可以是在其他計(jì)算設(shè)備上執(zhí)行并通過計(jì)算設(shè)備104來訪問的分布式應(yīng)用程序。在典型的系統(tǒng)中,計(jì)算設(shè)備104可作為客戶機(jī)與一個(gè)或多個(gè)服務(wù)器(例如服務(wù)器112)通信。服務(wù)器112可為用戶102執(zhí)行搜索操作以在服務(wù)器112本身、其他客戶機(jī)106、數(shù)據(jù)存儲(chǔ)108、網(wǎng)絡(luò)的其他服務(wù)器114、或網(wǎng)絡(luò)110外部的資源上搜索文檔。在一示例情形中,網(wǎng)絡(luò)110可表示企業(yè)網(wǎng)絡(luò),其中用戶102可提交搜索請(qǐng)求?;谒峁┑乃阉黜?xiàng),服務(wù)器122上的搜索應(yīng)用程序可執(zhí)行搜索,該搜索在爬行時(shí)捕捉鏈接/嵌入/來自外部源的文檔之間的關(guān)系。這些關(guān)系可被保存以供呈現(xiàn)給用戶102,并在對(duì)搜索結(jié)果進(jìn)行排名時(shí)計(jì)入考慮范圍內(nèi)。搜索還可包括網(wǎng)絡(luò)110外部的資源,諸如服務(wù)器116或服 務(wù)器122以及數(shù)據(jù)存儲(chǔ)120,它們可通過至少一個(gè)其他網(wǎng)絡(luò)118來訪問。如上所述,搜索還可在駐留于計(jì)算設(shè)備104上的應(yīng)用程序上執(zhí)行或在用戶102能通過計(jì)算設(shè)備104和網(wǎng)絡(luò)110訪問的分布式服務(wù)上執(zhí)行。搜索結(jié)果可由執(zhí)行該搜索的應(yīng)用程序(例如,瀏覽應(yīng)用程序)來呈現(xiàn),或由搜索引擎提供給各種應(yīng)用程序以供呈現(xiàn)。圖2包括示出使用虛擬文檔來捕捉鏈接/嵌入/外部源文檔之間的關(guān)系的搜索操作的概念圖200。如上所述,被搜索文檔的內(nèi)容可包含其他文檔(例如,文字處理文件嵌入在電子表格文件中),具有與另一文檔的鏈接數(shù)據(jù)關(guān)系(例如,電子表格單元引用不同的電子表格文件中的另一單元),或接收來自外部數(shù)據(jù)源(該外部數(shù)據(jù)源也可向其他文檔提供數(shù)據(jù))的數(shù)據(jù)。在平面文本搜索期間,文檔與其嵌入文檔/依存文檔/外部數(shù)據(jù)源之間的這些關(guān)系通常丟失了。結(jié)果,用戶可能不能夠確定哪一些(有多少)文檔使用特定數(shù)據(jù)源,不能找出文檔之間的依存關(guān)系,并且必須重復(fù)搜索任何相關(guān)文檔/數(shù)據(jù)源,從而過度消耗系統(tǒng)資源。在根據(jù)各實(shí)施例的系統(tǒng)中,搜索引擎226可以對(duì)數(shù)據(jù)源224執(zhí)行搜索,數(shù)據(jù)源224可包括數(shù)據(jù)庫、分析服務(wù)、門戶(例如,web共享服務(wù))、各種形式的數(shù)據(jù)、以及其他服務(wù)。該搜索可產(chǎn)生不帶有上述關(guān)系中的任一個(gè)的正常文檔。該搜索還可返回包括到其他文檔的鏈接、嵌入的文檔、以及來自外部數(shù)據(jù)源的數(shù)據(jù)的文檔。為區(qū)別起見,不帶有上述關(guān)系中的任一個(gè)的文檔或包含到另一文檔的鏈接、嵌入的文檔、以及來自外部源的數(shù)據(jù)的文檔在此被稱為“真實(shí)文檔”。根據(jù)一些實(shí)施例,鏈接或嵌入的文檔與文檔和外部數(shù)據(jù)源之間的關(guān)系可以按鏈?zhǔn)降姆绞絹礞溄?,從而意味著多個(gè)文檔之間可能存在多級(jí)關(guān)系。搜索引擎226可為鏈接的文檔/嵌入的文檔/外部數(shù)據(jù)源中的每一個(gè)創(chuàng)建虛擬文檔230。搜索引擎226還可創(chuàng)建所發(fā)現(xiàn)的真實(shí)文檔228和虛擬文檔230的、根據(jù)預(yù)定義算法進(jìn)行了排名的索引232。根據(jù)一些實(shí)施例,該排名算法可考慮真實(shí)和虛擬文檔之間的關(guān)系234。根據(jù)其他實(shí)施例,關(guān)系234可被保存并被提供給呈現(xiàn)應(yīng)用程序236,使得關(guān)于這些關(guān)系的信息可連同所列出的搜索結(jié)果一起使用圖形、文本、或其他方案來呈現(xiàn)給用戶。如下文詳細(xì)解釋的,關(guān)系234可作為元數(shù)據(jù)或作為虛擬文檔中的每一個(gè)的標(biāo)識(shí)符的一部分被提供給呈現(xiàn)應(yīng)用程序236。已經(jīng)用具體的服務(wù)器、客戶機(jī)設(shè)備、軟件模塊和交互描述了圖I和圖2中的示例系統(tǒng)。各實(shí)施例不限于根據(jù)這些示例配置的系統(tǒng)。通過采用虛擬文檔來進(jìn)行索引和搜索可以在采用更少或附加組件并執(zhí)行其他任務(wù)的配置中實(shí)現(xiàn)。此外,可以使用此處描述的原理以相似的方式來實(shí)現(xiàn)特定的協(xié)議和/或接口。圖3示出在根據(jù)一些實(shí)施例的系統(tǒng)中通過虛擬文檔來捕捉鏈接的文檔之間的關(guān)系。圖300示出示例文檔340,文檔340包括到文檔342的鏈接,文檔342又包括到文檔344的鏈接。文檔342和344可能不能被常規(guī)搜索發(fā)現(xiàn)。根據(jù)一些實(shí)施例的搜索引擎可以返回文檔340作為搜索真實(shí)文檔350并返回文檔342和344作為虛擬文檔352和354。根據(jù)一個(gè)實(shí)施例,文檔之間的數(shù)據(jù)依存關(guān)系可被保存在文檔的標(biāo)識(shí)符中。例如,標(biāo)識(shí)虛擬文檔352的統(tǒng)一資源定位符(URL)可以是文檔340和342的組合,指示這兩個(gè)文檔之間的數(shù)據(jù)依存關(guān)系。類似地,虛擬文檔364的URL可以是所有三個(gè)文檔340、342、以及344的組合,指示這三個(gè)文檔之間的鏈?zhǔn)疥P(guān)系。 圖4示出在根據(jù)其他實(shí)施例的系統(tǒng)中通過虛擬文檔來捕捉共享一數(shù)據(jù)源的文檔之間的關(guān)系。如圖400所示,文檔462和464可包含從數(shù)據(jù)源460動(dòng)態(tài)提供的數(shù)據(jù)。例如,文檔462和464可以是包括在數(shù)據(jù)源460處維護(hù)并周期性地更新的數(shù)據(jù)的電子表格數(shù)據(jù)。根據(jù)各實(shí)施例的搜索引擎可以確定文檔462、464與數(shù)據(jù)源460之間的關(guān)系,并創(chuàng)建表示數(shù)據(jù)源460的虛擬文檔465。根據(jù)一個(gè)實(shí)施例,搜索結(jié)果的真實(shí)文檔466、468與虛擬文檔465之間的關(guān)系可被保存在元數(shù)據(jù)中或真實(shí)文檔466和468的標(biāo)識(shí)符中。例如,可以用數(shù)據(jù)源460的服務(wù)器名和數(shù)據(jù)源標(biāo)識(shí)符來補(bǔ)充文檔URL,從而指示文檔和數(shù)據(jù)源之間的關(guān)系。呈現(xiàn)應(yīng)用程序還可確定以下事實(shí)文檔462和464兩者以此方式共享同一文檔。各實(shí)施例不限于兩個(gè)文檔或共享單個(gè)數(shù)據(jù)源??梢运饕蚕砣魏螖?shù)量的數(shù)據(jù)源的任何數(shù)量的文檔,并且使用虛擬文檔來呈現(xiàn)結(jié)果以捕捉數(shù)據(jù)依存關(guān)系。圖5示出在根據(jù)又一些實(shí)施例的系統(tǒng)中通過虛擬文檔來捕捉嵌入的文檔之間的關(guān)系。圖500中的文檔570包括嵌入的文檔572,嵌入的文檔572可能不能被基于平面文本的搜索引擎發(fā)現(xiàn)。根據(jù)各實(shí)施例的搜索引擎可以在搜索結(jié)果中創(chuàng)建表示嵌入的文檔572的虛擬文檔582以及表示文檔570的真實(shí)文檔580。與上述示例一樣,文檔之間的關(guān)系可被保存在元數(shù)據(jù)中或文檔的標(biāo)識(shí)符中。例如,虛擬文檔582的URL可包括父文檔(570 )的URL和嵌入的文檔(572)的名稱。此外,嵌入的文檔572的類型(例如,文字處理、電子表格、圖像、演示、瀏覽文檔,等等)也可被保存為虛擬文檔的屬性。已經(jīng)用具體文檔、關(guān)系、以及呈現(xiàn)示例描述了圖3、4和5中的示例文檔表示。各實(shí)施例不限于根據(jù)這些示例配置的系統(tǒng)。通過采用虛擬文檔來進(jìn)行索引和搜索可以用其他類型的文檔、關(guān)系、和配置使用本文描述的原理來實(shí)現(xiàn)。圖6是可實(shí)現(xiàn)各實(shí)施例的示例聯(lián)網(wǎng)環(huán)境。提供基于虛擬文檔的搜索的、用于捕捉文檔之間的關(guān)系的平臺(tái)可經(jīng)由諸如主存服務(wù)等在一個(gè)或多個(gè)服務(wù)器614上執(zhí)行的軟件來實(shí)現(xiàn)。該平臺(tái)可以通過網(wǎng)絡(luò)610來與諸如智能電話613、膝上型計(jì)算機(jī)612、或臺(tái)式計(jì)算機(jī)611 (‘客戶機(jī)設(shè)備’)之類的個(gè)體計(jì)算設(shè)備上的客戶機(jī)應(yīng)用程序進(jìn)行通信。如上所述,在客戶機(jī)設(shè)備611-613的任何一個(gè)上執(zhí)行的客戶機(jī)應(yīng)用程序可向客戶機(jī)設(shè)備611-613上的、服務(wù)器614上的或個(gè)體服務(wù)器616上的搜索引擎提交搜索請(qǐng)求。搜索引擎可以確定相關(guān)文檔,如鏈接、嵌入、或共享數(shù)據(jù)源的文檔,并如上所述在爬行時(shí)創(chuàng)建虛擬文檔以保存關(guān)系。搜索結(jié)果還可考慮捕捉到的關(guān)系來進(jìn)行排名。該服務(wù)可直接從數(shù)據(jù)存儲(chǔ)619中或通過數(shù)據(jù)庫服務(wù)器618檢索相關(guān)數(shù)據(jù),并且通過客戶機(jī)設(shè)備611-613將經(jīng)排名的搜索結(jié)果提供給用戶。網(wǎng)絡(luò)610可包括服務(wù)器、客戶機(jī)、因特網(wǎng)服務(wù)供應(yīng)商以及通信介質(zhì)的任何拓?fù)浣Y(jié)構(gòu)。根據(jù)各實(shí)施例的系統(tǒng)可以具有靜態(tài)或動(dòng)態(tài)拓?fù)浣Y(jié)構(gòu)。網(wǎng)絡(luò)610可包括諸如企業(yè)網(wǎng)絡(luò)等安全網(wǎng)絡(luò)、諸如無線開放網(wǎng)絡(luò)等非安全網(wǎng)絡(luò)、或因特網(wǎng)。網(wǎng)絡(luò)610還可通過諸如公共交換電話網(wǎng)絡(luò)(PSTN)或蜂窩網(wǎng)絡(luò)等其他網(wǎng)絡(luò)來協(xié)調(diào)通信。此外,網(wǎng)絡(luò)610可包括諸如藍(lán)牙或類似網(wǎng)絡(luò)等近程無線網(wǎng)絡(luò)。網(wǎng)絡(luò)610提供本文描述的節(jié)點(diǎn)之間的通信。作為示例而非限制,網(wǎng)絡(luò)610可以包括無線介質(zhì),諸如聲學(xué)、RF、紅外和其他無線介質(zhì)。
可以采用計(jì)算設(shè)備、應(yīng)用程序、數(shù)據(jù)源、以及數(shù)據(jù)分發(fā)系統(tǒng)的許多其他配置來實(shí)現(xiàn)用于采用虛擬文檔來進(jìn)行索引和搜索的框架。此外,圖6中所討論的聯(lián)網(wǎng)環(huán)境僅用于說明目的。各實(shí)施例不限于示例應(yīng)用程序、模塊、或過程。圖7及相關(guān)聯(lián)討論旨在提供對(duì)其中可實(shí)現(xiàn)各實(shí)施例的合適計(jì)算環(huán)境的簡(jiǎn)要概括描述。參考圖7,示出了根據(jù)各實(shí)施例的用于應(yīng)用程序的示例計(jì)算操作環(huán)境(諸如計(jì)算設(shè)備700)的框圖。在基本配置中,計(jì)算設(shè)備700可以是根據(jù)各實(shí)施例的執(zhí)行具有執(zhí)行搜索能力的客戶機(jī)應(yīng)用程序的客戶機(jī)設(shè)備、或執(zhí)行具有執(zhí)行搜索能力的服務(wù)的服務(wù)器,并且包括至少一個(gè)處理單元702和系統(tǒng)存儲(chǔ)器704。計(jì)算設(shè)備700還可包括協(xié)作執(zhí)行程序的多個(gè)處理單元。取決于計(jì)算設(shè)備的確切配置和類型,系統(tǒng)存儲(chǔ)器704可以是易失性的(諸如RAM)、非易失性的(諸如ROM、閃存等)或是兩者的某種組合。系統(tǒng)存儲(chǔ)器704通常包括適于控制平臺(tái)操作的操作系統(tǒng)705,諸如來自華盛頓州雷德蒙市的微軟公司的WINDOWS 操作系統(tǒng)。系統(tǒng)存儲(chǔ)器704還可包括一個(gè)或多個(gè)軟件應(yīng)用程序,諸如程序模塊706、有搜索能力的應(yīng)用程序722、搜索引擎724和可任選地其他應(yīng)用程序/數(shù)據(jù)726。應(yīng)用程序722可以是能夠通過搜索引擎724對(duì)計(jì)算設(shè)備700中的其他應(yīng)用程序/數(shù)據(jù)726和/或基于企業(yè)或基于云的聯(lián)網(wǎng)環(huán)境中可用的各種數(shù)據(jù)執(zhí)行搜索的任何應(yīng)用程序。搜索引擎724可以創(chuàng)建上述用于表示與所找到的文檔相關(guān)聯(lián)的鏈接、嵌入、或數(shù)據(jù)源共享的文檔的虛擬文檔。應(yīng)用程序722以及搜索引擎724可以是獨(dú)立的應(yīng)用程序或者是所主存的服務(wù)的集成組件。該基本配置在圖7中由虛線708內(nèi)的那些組件示出。計(jì)算設(shè)備700可具有附加特征或功能。例如,計(jì)算設(shè)備700還可包括附加數(shù)據(jù)存儲(chǔ)設(shè)備(可移動(dòng)和/或不可移動(dòng)),例如磁盤、光盤或磁帶。在圖7中通過可移動(dòng)存儲(chǔ)709和不可移動(dòng)存儲(chǔ)710示出這樣的附加存儲(chǔ)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。系統(tǒng)存儲(chǔ)器704、可移動(dòng)存儲(chǔ)709和不可移動(dòng)存儲(chǔ)710都是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的示例。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括,但不限于,RAM、R0M、EEPR0M、閃存或其他存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD )或其他光存儲(chǔ)、磁帶、磁盤存儲(chǔ)或其他磁存儲(chǔ)設(shè)備、或能用于存儲(chǔ)所需信息且可以由計(jì)算設(shè)備700訪問的任何其他介質(zhì)。任何這樣的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)都可以是計(jì)算設(shè)備700的一部分。計(jì)算設(shè)備700還可以具有輸入設(shè)備712,諸如鍵盤、鼠標(biāo)、筆、語音輸入設(shè)備、觸摸輸入設(shè)備和類似輸入設(shè)備。還可以包括輸出設(shè)備714,諸如顯示器、揚(yáng)聲器、打印機(jī)和其他類型的輸出設(shè)備。這些設(shè)備在本領(lǐng)域中公知且無需在此處詳細(xì)討論。計(jì)算設(shè)備700還可包含通信連接716,該通信連接允許該設(shè)備諸如通過分布式計(jì)算環(huán)境中的有線或無線網(wǎng)絡(luò)、衛(wèi)星鏈接、蜂窩鏈接、短程網(wǎng)絡(luò)和類似機(jī)制來與其他設(shè)備718進(jìn)行通信。其他設(shè)備718可包括執(zhí)行通信應(yīng)用程序的計(jì)算機(jī)設(shè)備、其他web服務(wù)器和類似設(shè)備。一個(gè)或多個(gè)通信連接716是通信介質(zhì)的一個(gè)示例。通信介質(zhì)可在其中包括計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)。作為示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接線連接之類的有線介質(zhì),以及諸如聲學(xué)、RF、紅外及其他無線介質(zhì)之類的無線介質(zhì)。各示例實(shí)施例還包括各種方法。這些方法可以用任何數(shù)量的方式,包括本文中所描述的結(jié)構(gòu)來實(shí)現(xiàn)。一種此類方式是通過本文中描述的類型的設(shè)備的機(jī)器操作。另一可任選方式是結(jié)合一個(gè)或多個(gè)人類操作者執(zhí)行該方法的各個(gè)操作中的某一些來執(zhí)行該方法的一個(gè)或多個(gè)操作。這些人類操作者無需彼此同在一處,而是其每一個(gè)可以僅與執(zhí)行程序的一部分的機(jī)器同在一處。 圖8示出根據(jù)各實(shí)施例的執(zhí)行使用虛擬文檔來捕捉鏈接/嵌入/來自外部源的文檔之間的關(guān)系的搜索的過程800的邏輯流程圖。過程800可實(shí)現(xiàn)為在服務(wù)器或客戶機(jī)設(shè)備上執(zhí)行的應(yīng)用程序的一部分。 過程800始于操作810,在此爬行文檔??蓪?duì)爬行結(jié)果進(jìn)行索引以用于在后續(xù)搜索時(shí)快速呈現(xiàn)搜索結(jié)果。在操作820,在爬行被執(zhí)行時(shí),確定鏈接/嵌入/來自外部源的文檔之間的關(guān)系。如上所述,這些關(guān)系可連接兩個(gè)或更多個(gè)文檔??晌ㄒ坏貥?biāo)識(shí)每一虛擬文檔,使得對(duì)虛擬文檔的爬行和索引可被立即執(zhí)行而非通過多個(gè)循環(huán)來執(zhí)行。在操作830,可創(chuàng)建虛擬文檔來表示連接的文檔或數(shù)據(jù)源,使得可保存關(guān)系以供后續(xù)呈現(xiàn)。這些關(guān)系還可被用來對(duì)真實(shí)和虛擬文檔進(jìn)行排名。在840,可從用戶接收搜索請(qǐng)求。在操作850,可向呈現(xiàn)應(yīng)用程序提供搜索結(jié)果。連同經(jīng)排名的文檔一起,還可提供關(guān)于關(guān)系的信息,例如作為元數(shù)據(jù)或作為虛擬文檔的標(biāo)識(shí)符的一部分。因而,在根據(jù)各實(shí)施例的系統(tǒng)中,虛擬文檔被獨(dú)立地爬行和索引。文檔與相關(guān)聯(lián)的虛擬文檔之間的關(guān)系可被存儲(chǔ)為真實(shí)文檔和相關(guān)聯(lián)的文檔兩者的屬性,使其能被搜索和導(dǎo)航。在任選操作860,這些關(guān)系被呈現(xiàn)為各種格式的文檔映射。包括在過程800內(nèi)的各操作是用于說明目的。使用虛擬文檔來捕捉鏈接、嵌入、以及共享數(shù)據(jù)源的文檔之間的關(guān)系以進(jìn)行索引和搜索,可使用本文描述的原理通過具有更少或更多步驟的類似過程以及按不同操作次序來實(shí)現(xiàn)。以上說明書、示例和數(shù)據(jù)提供了對(duì)各實(shí)施例的組成的制造和使用的全面描述。盡管用結(jié)構(gòu)特征和/或方法動(dòng)作專用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述具體特征或動(dòng)作。相反,上述具體特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求和各實(shí)施方式的示例形式而公開的。
權(quán)利要求
1.一種至少部分地在計(jì)算設(shè)備中執(zhí)行的用于執(zhí)行采用虛擬文檔的搜索的方法,所述方法包括 從用戶接收搜索請(qǐng)求; 在爬行時(shí),確定相關(guān)的第一文檔與第二文檔之間的關(guān)系; 創(chuàng)建表示所述第二文檔的虛擬文檔; 索引包括相關(guān)的第一文檔和所述虛擬文檔的搜索結(jié)果;以及 呈現(xiàn)所述搜索結(jié)果。
2.如權(quán)利要求I所述的方法,其特征在于,所述相關(guān)的第一文檔與所述第二文檔之間的關(guān)系包括以下之一所述第二文檔從所述相關(guān)的第一文檔鏈接和所述第二文檔被嵌入在所述相關(guān)的第一文檔中。
3.如權(quán)利要求2所述的方法,其特征在于,還包括 創(chuàng)建表示鏈接到所述相關(guān)的第一文檔的數(shù)據(jù)源的另一虛擬文檔;以及 在索引所述搜索結(jié)果時(shí)包括所述另一虛擬文檔。
4.如權(quán)利要求3所述的方法,其特征在于,還包括 通過以下之一來保存所述相關(guān)的第一文檔與所述第二文檔和所述數(shù)據(jù)源中的至少一個(gè)之間的關(guān)系與所述搜索結(jié)果相關(guān)聯(lián)的元數(shù)據(jù)以及所述虛擬文檔和所述另一虛擬文檔的標(biāo)識(shí)符。
5.如權(quán)利要求4所述的方法,其特征在于,所述虛擬文檔的標(biāo)識(shí)符包括 在所述相關(guān)的第一文檔與所述第二文檔相鏈接的情況下,所述相關(guān)的第一文檔的標(biāo)識(shí)符和所述第二文檔的標(biāo)識(shí)符的組合,以及 在所述第二文檔被嵌入在所述相關(guān)的第一文檔中的情況下,所述相關(guān)的第一文檔的標(biāo)識(shí)符與所述第二文檔的名稱的組合。
6.如權(quán)利要求I所述的方法,其特征在于,所述相關(guān)的第一文檔與多個(gè)文檔相關(guān),并且所述方法還包括 創(chuàng)建多個(gè)虛擬文檔,每一虛擬文檔表示所述多個(gè)文檔之一。
7.如權(quán)利要求I所述的方法,其特征在于,所述相關(guān)的第一文檔內(nèi)容包括以下集合中的至少一個(gè)文本數(shù)據(jù)和圖形數(shù)據(jù)。
8.一種便于采用虛擬文檔進(jìn)行搜索的聯(lián)網(wǎng)計(jì)算設(shè)備,所述計(jì)算設(shè)備包括 存儲(chǔ)指令的存儲(chǔ)器; 耦合至所述存儲(chǔ)器的處理器,所述處理器基于所存儲(chǔ)的指令來執(zhí)行搜索應(yīng)用程序,其中所述搜索應(yīng)用程序被配置成 接收搜索請(qǐng)求; 在爬行時(shí),確定以下集合中的至少一個(gè)鏈接到相關(guān)的文檔的文檔、嵌入到所述相關(guān)的文檔的文檔、以及向所述相關(guān)的文檔提供數(shù)據(jù)的數(shù)據(jù)源; 創(chuàng)建表示所述鏈接的文檔、所述嵌入的文檔、以及所述數(shù)據(jù)源中的每一個(gè)的虛擬文檔; 索引包括所述相關(guān)的第一文檔和所述虛擬文檔的搜索結(jié)果;以及將所述搜索結(jié)果提供給客戶機(jī)應(yīng)用程序以供呈現(xiàn),其中考慮所述相關(guān)的文檔與所述虛擬文檔之間的關(guān)系來對(duì)所述搜索結(jié)果進(jìn)行排名。
9.如權(quán)利要求8所述的計(jì)算設(shè)備,其特征在于,所述搜索應(yīng)用程序還被配置成 向所述客戶機(jī)應(yīng)用程序提供與所述相關(guān)的文檔與所述虛擬文檔之間的關(guān)系相關(guān)聯(lián)的信息,從而使得所述客戶機(jī)應(yīng)用程序能夠?qū)⑺鲫P(guān)系與所述搜索結(jié)果一起呈現(xiàn)。
10.如權(quán)利要求9所述的計(jì)算設(shè)備,其特征在于,所述關(guān)系是采用圖形方案和文本方案中的至少一個(gè)來呈現(xiàn)的。
11.如權(quán)利要求10所述的計(jì)算設(shè)備,其特征在于,表示鏈接到所述相關(guān)的文檔的文檔的虛擬文檔的統(tǒng)一資源定位符(URL)包括所述相關(guān)的文檔的URL和所述鏈接的文檔的URL的組合,表示嵌入到所述相關(guān)的文檔的文檔的虛擬文檔的URL包括所述相關(guān)的文檔的URL和所述嵌入的文檔的名稱的組合,以及表示鏈接到所述相關(guān)的文檔的數(shù)據(jù)源的虛擬文檔的URL包括與所述數(shù)據(jù)源相關(guān)聯(lián)的服務(wù)器名和數(shù)據(jù)源標(biāo)識(shí)符的組合。
12.如權(quán)利要求8所述的計(jì)算設(shè)備,其特征在于,所述計(jì)算設(shè)備被耦合到以下之一基于企業(yè)的網(wǎng)絡(luò)、基于云的網(wǎng)絡(luò)、以及基于企業(yè)的網(wǎng)絡(luò)和基于云的網(wǎng)絡(luò)的組合。
13.一種其上存儲(chǔ)有用于采用虛擬文檔進(jìn)行搜索的指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述指令包括 在搜索應(yīng)用程序處接收搜索請(qǐng)求;以及 在爬行時(shí),確定以下集合中的至少一個(gè)鏈接到相關(guān)的文檔的文檔、嵌入到所述相關(guān)的文檔的文檔、以及向所述相關(guān)的文檔提供數(shù)據(jù)的數(shù)據(jù)源,以便在單個(gè)搜索中對(duì)所述相關(guān)的文檔和有關(guān)文檔和數(shù)據(jù)源進(jìn)行索引; 創(chuàng)建表示所述鏈接的文檔、所述嵌入的文檔、以及所述數(shù)據(jù)源中的每一個(gè)的虛擬文檔,以使得所述鏈接的文檔、所述嵌入的文檔、以及所述數(shù)據(jù)源是可搜索和可導(dǎo)航的; 索引包括所述相關(guān)的文檔和所述虛擬文檔的搜索結(jié)果;以及 將所述搜索結(jié)果提供給客戶機(jī)應(yīng)用程序以供呈現(xiàn)所述搜索結(jié)果和所述相關(guān)的文檔與所述虛擬文檔之間的關(guān)系,其中考慮所述相關(guān)的文檔與所述虛擬文檔之間的關(guān)系來對(duì)所述搜索結(jié)果進(jìn)行排名。
14.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,表示所述數(shù)據(jù)源的虛擬文檔使得搜索應(yīng)用程序能夠推斷出所述相關(guān)的文檔與共享該同一數(shù)據(jù)源的多個(gè)文檔之間的關(guān)系O
15.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,嵌入到所述相關(guān)的文檔中的文檔的類型被存儲(chǔ)為表示所述嵌入的文檔的虛擬文檔的屬性。
全文摘要
鏈接和/或嵌入的文檔以及共享數(shù)據(jù)源的文檔之間的關(guān)系被捕捉并通過虛擬文檔來呈現(xiàn)。創(chuàng)建表示與相關(guān)文檔相關(guān)聯(lián)的鏈接/嵌入的文檔以及數(shù)據(jù)源的虛擬文檔。保存真實(shí)和虛擬文檔之間的關(guān)系,并且將其與搜索結(jié)果一起呈現(xiàn),從而向用戶提供搜索結(jié)果的全面描繪。
文檔編號(hào)G06F17/30GK102822820SQ201180014578
公開日2012年12月12日 申請(qǐng)日期2011年3月16日 優(yōu)先權(quán)日2010年3月19日
發(fā)明者王魯明, 楊霄鴻, A·阿米羅夫, P·巴爾沃 申請(qǐng)人:微軟公司