專利名稱:使用外部搜索系統(tǒng)來搜索鏈接的內(nèi)容的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)技術(shù),尤其涉及搜索技術(shù)。
技術(shù)背景
當(dāng)在一組電子通信內(nèi)搜索內(nèi)容時常常采用關(guān)鍵詞搜索。這在感興趣的內(nèi)容被包含在嵌入給定通信內(nèi)的鏈接內(nèi)時可導(dǎo)致問題。例如,如果在對電子郵件消息中的的內(nèi)容進(jìn)行初始查看之后經(jīng)過足夠的時間段,用戶可能難以記住并闡述包含該鏈接內(nèi)所包含的項(xiàng)的搜索查詢。在這樣的場景中,可能需要大量時間來重新定位感興趣的內(nèi)容。發(fā)明內(nèi)容
在一方面,一種用于對包含在電子通信內(nèi)的所鏈接的內(nèi)容進(jìn)行索引的方法,包括 在計算設(shè)備上對至少一個電子通信進(jìn)行索引;在所述計算設(shè)備處分析的所述至少一個通信的內(nèi)容,以便標(biāo)識其中包含的鏈接的內(nèi)容;在所述計算設(shè)備處形成包括對所述鏈接的內(nèi)容進(jìn)行索引的請求的消息;以及將所述消息從所述計算設(shè)備發(fā)送給外部服務(wù)來對所述鏈接的內(nèi)容進(jìn)行索引。
在另一方面,一種用于在通信系統(tǒng)中搜索包含在電子通信內(nèi)的鏈接的內(nèi)容的方法,包括在所述通信系統(tǒng)處從消息收發(fā)應(yīng)用接收包括用于搜索電子通信的至少一個關(guān)鍵項(xiàng)的搜索串;在所述通信系統(tǒng)處根據(jù)所述搜索串查詢本地索引,以便獲取第一本地查詢結(jié)果;在所述通信系統(tǒng)處標(biāo)識具有從所述通信系統(tǒng)接收到的鏈接的內(nèi)容的至少一個外部服務(wù);將消息從所述通信系統(tǒng)發(fā)送給所述外部服務(wù),所述消息包括執(zhí)行對外部索引的外部搜索的請求;從所述外部索引服務(wù)接收包括外部查詢結(jié)果的響應(yīng);在所述通信系統(tǒng)處使用所述外部查詢結(jié)果來查詢所述本地索引,以便獲取第二本地查詢結(jié)果;以及向所述消息收發(fā)應(yīng)用返回包括所述第一本地查詢結(jié)果和第二本地查詢結(jié)果中的至少一部分的經(jīng)合并的搜索結(jié)果。
在又一方面,一種計算設(shè)備包括處理單元;以及連接至所述處理單元的系統(tǒng)存儲器,所述系統(tǒng)存儲器包括在由所述處理單元執(zhí)行時使得所述處理單元實(shí)現(xiàn)用于評估包含在電子通信內(nèi)的鏈接的內(nèi)容的索引模塊和搜索模塊的指令,其中所述索引模塊被配置成 接收用于對至少一個電子通信進(jìn)行索引的指令;分析所述至少一個通信的內(nèi)容,以便標(biāo)識其中包含的鏈接的內(nèi)容;形成包括對所標(biāo)識的鏈接的內(nèi)容進(jìn)行索引的請求的第一消息,其中所述第一消息包括索引處理標(biāo)識符和所標(biāo)識的鏈接的內(nèi)容;以及將所述第一消息發(fā)送給第一外部服務(wù)來對所標(biāo)識鏈接的內(nèi)容進(jìn)行索引;并且所述搜索模塊被配置成接收包括用于搜索多個電子通信的至少一個關(guān)鍵項(xiàng)的搜索串;根據(jù)所述搜索串查詢本地索引,以便獲取第一本地查詢結(jié)果;標(biāo)識具有從所述搜索模塊接收到的鏈接的內(nèi)容的至少一個外部服務(wù);將第二消息發(fā)送給所述至少一個外部服務(wù),所述第二消息包括執(zhí)行對外部索引的外部搜索的請求;從所述至少一個外部索引服務(wù)接收包括外部查詢結(jié)果的響應(yīng);根據(jù)所述外部查詢結(jié)果來查詢所述本地索引,以便獲取第二本地查詢結(jié)果;以及返回包括所述第一本地4查詢結(jié)果和所述第二本地查詢結(jié)果的交集的經(jīng)合并的搜索結(jié)果。
提供本發(fā)明內(nèi)容是為了以簡化的形式介紹將在以下具體實(shí)施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并不旨在標(biāo)識所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也決不旨在用于限制所要求保護(hù)的主題的范圍。
本公開的各方面在結(jié)合附圖考慮以下各實(shí)施例的詳細(xì)描述的情況下可被更全面地理解。
圖1示出了示例聯(lián)網(wǎng)計算環(huán)境。
圖2示出了示例服務(wù)器計算設(shè)備。
圖3示出了客戶機(jī)計算設(shè)備的示例邏輯模塊。
圖4示出了示例計算設(shè)備之間的示例通信。
圖5示出了用于在電子通信系統(tǒng)中對包含在電子通信內(nèi)的鏈接的內(nèi)容進(jìn)行索引的示例方法的流程圖。
圖6示出了用于在電子通信系統(tǒng)中搜索包含在電子通信內(nèi)的鏈接的內(nèi)容的示例方法的流程圖。
具體實(shí)施方式
本發(fā)明涉及在電子通信系統(tǒng)中對包含在電子通信內(nèi)的鏈接的內(nèi)容進(jìn)行索引和搜索。
在示例實(shí)施例中,當(dāng)鏈接位于給定通信內(nèi)時,消息被遞送給外部索引服務(wù)。該消息包括對與該連接相關(guān)聯(lián)的內(nèi)容進(jìn)行索引的請求。當(dāng)在通信系統(tǒng)內(nèi)執(zhí)行關(guān)鍵詞搜索查詢時, 本地索引以及與外部索引服務(wù)相關(guān)聯(lián)的外部索引都被查詢。來自查詢的結(jié)果被合并且被顯露。盡管沒有進(jìn)行如此限制,但是對本公開的各個方面的理解通過討論以下給出的示例來達(dá)成。
現(xiàn)在參考圖1,示出了示例聯(lián)網(wǎng)計算環(huán)境100。計算環(huán)境100包括客戶機(jī)設(shè)備105、 服務(wù)器設(shè)備110、存儲設(shè)備115和網(wǎng)絡(luò)120。其他實(shí)施例是可能的。例如,計算環(huán)境100通??砂葱璋ǜ嗷蚋僭O(shè)備、網(wǎng)絡(luò)和其他組件。
客戶機(jī)設(shè)備105和服務(wù)器設(shè)備110是以下結(jié)合圖2更詳細(xì)描述的通用計算設(shè)備。 在示例實(shí)施例中,服務(wù)器設(shè)備110是實(shí)現(xiàn)業(yè)務(wù)過程的業(yè)務(wù)服務(wù)器。示例業(yè)務(wù)過程包括消息接發(fā)和通信過程、協(xié)作過程、數(shù)據(jù)管理過程等。
來自華盛頓州雷蒙德市的微軟公司的SHAREPOINT 協(xié)作服務(wù)器是實(shí)現(xiàn)支持協(xié)作、文件共享和web發(fā)布的業(yè)務(wù)過程的業(yè)務(wù)服務(wù)器的示例。同樣來自微軟公司的Exchange Server是實(shí)現(xiàn)如下各項(xiàng)的消息收發(fā)和協(xié)作業(yè)務(wù)過程的業(yè)務(wù)服務(wù)器的示例支持電子郵件、 日歷、和聯(lián)系人以及任務(wù)特征,支持移動和基于web的對信息的訪問,以及支持?jǐn)?shù)據(jù)存儲。 其他業(yè)務(wù)過程是可能的。
在一些實(shí)施例中,服務(wù)器設(shè)備110包括多個以“場(Farm) ”配置一起操作以實(shí)現(xiàn)業(yè)務(wù)過程的互連的服務(wù)器設(shè)備。服務(wù)器設(shè)備110的其他實(shí)施例是可能的。
存儲設(shè)備115是諸如關(guān)系數(shù)據(jù)庫或任何其他類型的永久數(shù)據(jù)存儲設(shè)備之類的數(shù)據(jù)存儲設(shè)備。存儲設(shè)備115按預(yù)定義格式來存儲數(shù)據(jù),以使得服務(wù)器設(shè)備110可查詢、修改、 和管理其上存儲的數(shù)據(jù)。這樣的數(shù)據(jù)存儲設(shè)備的示例包括郵箱存儲和地址服務(wù),諸如來自微軟公司的ACTIVE DIRECTORY 目錄服務(wù)。存儲設(shè)備115的其他實(shí)施例是可能的。
網(wǎng)絡(luò)120是用于一個或多個設(shè)備之間的數(shù)據(jù)轉(zhuǎn)移的雙向數(shù)據(jù)通信路徑。在示例實(shí)施例中,網(wǎng)絡(luò)120建立用于客戶機(jī)設(shè)備105與服務(wù)器設(shè)備110之間的數(shù)據(jù)轉(zhuǎn)移的通信路徑。 通常,網(wǎng)絡(luò)120可以是多個無線或硬線連接的WAN、LAN、因特網(wǎng)或其他基于分組的通信網(wǎng)絡(luò)中的任一種,以使得數(shù)據(jù)可在示例計算環(huán)境100的元件之間被轉(zhuǎn)移。網(wǎng)絡(luò)120的其他實(shí)施例是可能的。
現(xiàn)在參看圖2,圖1的服務(wù)器設(shè)備110被更詳細(xì)地示出。如以上所提及的,服務(wù)器設(shè)備110是通用計算設(shè)備。示例通用計算設(shè)備包括臺式計算機(jī)、膝上型計算機(jī)、個人數(shù)據(jù)助理、智能電話、蜂窩電話、和其他計算設(shè)備。
服務(wù)器設(shè)備110包括至少一個處理單元205和系統(tǒng)存儲器210。系統(tǒng)存儲器210 可以存儲用于控制服務(wù)器設(shè)備110或另一計算設(shè)備的操作的操作系統(tǒng)215。一種示例的操作系統(tǒng)215可以是來自微軟公司的WINDOWS 操作系統(tǒng)或服務(wù)器,例如Exchange服務(wù)器、 SHAREP0INT⑧協(xié)作服務(wù)器以及其它。
系統(tǒng)存儲器210還可以包括一個或多個軟件應(yīng)用220并且可以包括程序數(shù)據(jù)。軟件應(yīng)用220可包括許多不同類型的單個和多個功能的程序,諸如電子郵件程序、日歷程序、 因特網(wǎng)瀏覽程序、電子表格程序、用于跟蹤和報告信息的程序、文字處理程序、即時消息收發(fā)程序、web會議服務(wù)程序以及許多其他程序。一個示例程序是來自微軟公司的Office套件。
系統(tǒng)存儲器210可包括計算機(jī)可讀介質(zhì)。計算機(jī)可讀介質(zhì)的示例包括計算機(jī)可讀存儲介質(zhì)和通信介質(zhì)。計算機(jī)可讀存儲介質(zhì)區(qū)別于通信介質(zhì)。
計算機(jī)可讀存儲介質(zhì)可以包括以用于儲存諸如計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任一方法或技術(shù)實(shí)現(xiàn)的物理易失性和非易失性,可移動和不可移動介質(zhì)。計算機(jī)可讀存儲介質(zhì)還包括,但不僅限于,RAM、ROM、EEPR0M、閃存或其他存儲器技術(shù),CD-R0M、DVD或其他光學(xué)存儲,磁帶盒、磁帶、磁盤存儲或其他磁存儲設(shè)備,或可以用來存儲所需要的信息并可以被服務(wù)器設(shè)備110訪問的任何其他介質(zhì)。任何這樣的計算機(jī)存儲介質(zhì)都可以是服務(wù)器設(shè)備110的一部分或外置于該服務(wù)器設(shè)備100。這樣存儲在圖2中由可移動存儲225和不可移動存儲230示出。
通信介質(zhì)通常由諸如載波或其他傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號中的計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)來體現(xiàn),并包括任何信息傳遞介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”是指具有以在信號中編碼信息的方式被設(shè)定或改變其一個或多個特征的信號。作為示例,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直接線連接,以及無線介質(zhì),諸如聲學(xué)、RFjl 外線和其他無線介質(zhì)。
服務(wù)器設(shè)備110還具有任何數(shù)目或類型的輸入設(shè)備235和輸出設(shè)備M0。示例輸入設(shè)備235包括鍵盤、鼠標(biāo)、筆、語音輸入設(shè)備、觸摸輸入設(shè)備等。示例輸出設(shè)備240包括顯示器、揚(yáng)聲器、打印機(jī)等。服務(wù)器設(shè)備110還可包括配置成在分布式計算系統(tǒng)環(huán)境中允許通過網(wǎng)絡(luò)(例如,網(wǎng)絡(luò)120)與其他計算設(shè)備通信的通信連接M5。
圖1的客戶機(jī)設(shè)備105與如上所述的服務(wù)器設(shè)備110相似地配置。
現(xiàn)在附加地參考圖3,客戶機(jī)設(shè)備105還被配置為包括到服務(wù)器設(shè)備110的一個或多個不同類型的客戶機(jī)接口。在所示示例中,客戶機(jī)設(shè)備105包括本地客戶機(jī)305、web接入客戶機(jī)310、移動接入客戶機(jī)315以及語音接入客戶機(jī)320。到服務(wù)器設(shè)備110的其他類型的客戶機(jī)接口也是可能的。
本地客戶機(jī)305被配置為專用消息收發(fā)和協(xié)作客戶機(jī),其用作到服務(wù)器設(shè)備110 的接口,并且是在客戶機(jī)設(shè)備105上執(zhí)行的應(yīng)用套件的一部分。在一個實(shí)施例中,本地客戶機(jī)305包括OUTLOOKk 消息收發(fā)和協(xié)作客戶機(jī),它是作為微軟公司的Office套件的一部分的電子郵件應(yīng)用。用戶可通過OUTLOOK. 消息收發(fā)和協(xié)作客戶機(jī)編寫電子郵件、與電子郵件交互、發(fā)送和接收電子郵件。本地客戶機(jī)305的其他實(shí)施例是可能的。例如,在一個實(shí)施例中,本地客戶機(jī)305包括來自微軟公司的Office通信器客戶機(jī)、與Off ice通信服務(wù)器一起使用的即時消息收發(fā)客戶機(jī)。本地客戶機(jī)305的其他實(shí)施例也是可能的。
web接入客戶機(jī)310被配置成使用諸如因特網(wǎng)之類的網(wǎng)絡(luò)連接遠(yuǎn)程地訪問服務(wù)器設(shè)備110。在一個實(shí)施例中,web接入客戶機(jī)310是Exchange服務(wù)器的Outlook Web Access(0WA)web郵件服務(wù)。在示例實(shí)施例中,客戶機(jī)設(shè)備105使用web瀏覽器來經(jīng)由 Outlook Web Access來連接到Exchange服務(wù)器。這提供類似OUTLOOK 消息收發(fā)和協(xié)作客戶機(jī)中的接口的用戶接口,其中用戶可編寫電子郵件、與電子郵件交互、發(fā)送和接收電子郵件。web接入客戶機(jī)310的其他實(shí)施例是可能的。例如,web接入客戶機(jī)310可被配置成連接到SHAREP0INT 協(xié)作服務(wù)器以訪問相對應(yīng)的協(xié)作、文件共享和web發(fā)布服務(wù)。web接入客戶機(jī)310的其他實(shí)施例也是可能的。
移動接入客戶機(jī)315是另一種類型的到服務(wù)器設(shè)備110的客戶機(jī)接口。在一個實(shí)施例中,移動接入客戶機(jī)315包括帶有ACTIVESYNC @同步技術(shù)的移動接入,或者WINDOWS VISTA 操作系統(tǒng)或Windows 7操作系統(tǒng)的Windows移動設(shè)備中心,其全部來自微軟公司。 示例移動設(shè)備包括蜂窩電話、智能電話、個人數(shù)字助理等等。移動接入客戶機(jī)315的其他實(shí)施例是可能的。
語音接入客戶機(jī)320是又一種類型的到服務(wù)器設(shè)備110的客戶機(jī)接口。在一些實(shí)施例中,語音接入客戶機(jī)320包括Exchange服務(wù)器中支持的Exchange統(tǒng)一消息收發(fā)。通過統(tǒng)一消息收發(fā),用戶具有用于電子郵件和語音郵件的一個收件箱。語音郵件被直接遞送到OUTLOOK 消息收發(fā)和協(xié)作客戶機(jī)收件箱。包含語音郵件的消息還可以包括附件。語音接入客戶機(jī)320的其他實(shí)施例是可能的。
現(xiàn)在參考圖4,示例框圖400示出了在用于對包含在電子通信內(nèi)的鏈接的內(nèi)容進(jìn)行索引和搜索的各計算設(shè)備之間的通信。示例通信包括電子郵件消息、文本消息、即時消息、日歷項(xiàng)、任務(wù)項(xiàng)、筆記項(xiàng)、社交協(xié)作消息(例如hcebook狀態(tài)更新、Twitter更新等)以及語音郵件消息(例如被錄制成文本)。電子通信的還有一些類型是可能的。
框圖400包括第一服務(wù)器設(shè)備405和第二服務(wù)器設(shè)備410,各自與如上所述的服務(wù)器設(shè)備110類似地配置。第一服務(wù)器設(shè)備405進(jìn)一步包括外部索引服務(wù)415和第一接口 420。第二服務(wù)器設(shè)備410進(jìn)一步包括應(yīng)用425和第二接口 430。其他配置是可能的。例如,框圖400通??砂葱璋ǜ嗷蚋俚挠嬎阍O(shè)備和其他組件。
第一服務(wù)器設(shè)備405的外部索引服務(wù)415包括在第一服務(wù)器設(shè)備405上執(zhí)行的用于實(shí)現(xiàn)諸如web索引服務(wù)(例如,Bing,, Google等)、文檔索引服務(wù)(例如,SharePointCN 102542010 A等)之類的索引服務(wù)的功能的軟件的邏輯模塊。例如,外部索引服務(wù)415包括外部索引模塊435、外部索引440和外部搜索模塊445。外部索引服務(wù)415的其他邏輯模塊是可能的。
外部索引服務(wù)415的外部索引模塊435被配置成爬行并解析第一服務(wù)設(shè)備405外部所容納的網(wǎng)頁或文檔內(nèi)容,并將經(jīng)解析的內(nèi)容存儲在外部索引440中。外部搜索模塊445 被配置成接收包括一個或多個搜索準(zhǔn)則(例如,關(guān)鍵詞)的搜索查詢,針對外部索引440 中的經(jīng)分析的內(nèi)容來評估搜索查詢,以及向搜索查詢發(fā)起者(例如,瀏覽器)返回與包含同搜索準(zhǔn)則相關(guān)聯(lián)的內(nèi)容的一個或多個網(wǎng)頁或文檔相對應(yīng)的信息(例如,鏈接)。在示例實(shí)施例中,網(wǎng)頁或文檔內(nèi)容包括在給定網(wǎng)頁或文檔內(nèi)所包含的任何可直接觀測或以其他方式推斷的信息。
第二服務(wù)器設(shè)備410的應(yīng)用425包括在第二服務(wù)器設(shè)備410上執(zhí)行的用于實(shí)現(xiàn)被配置成支持電子通信過程的業(yè)務(wù)服務(wù)器的索引功能的軟件的邏輯模塊。例如,應(yīng)用425包括索引模塊450、內(nèi)容模塊455、本地索引460和搜索模塊465。應(yīng)用425的其他邏輯模塊也是可能的。
應(yīng)用425的索引模塊450被配置成收集并解析包含在內(nèi)容模塊455內(nèi)的電子通信內(nèi)容,并將經(jīng)解析的內(nèi)容存儲在本地索引460中。搜索模塊465被配置成接收包括一個或多個搜索準(zhǔn)則(例如,關(guān)鍵詞)的搜索查詢,針對本地索引460中的經(jīng)分析的內(nèi)容來評估搜索查詢,以及向搜索查詢發(fā)起者(例如,消息收發(fā)客戶機(jī))返回包含與指定的搜索準(zhǔn)則相關(guān)聯(lián)的內(nèi)容的一個或多個電子通信。
在對電子郵件消息中的鏈接的內(nèi)容進(jìn)行索引的示例中,應(yīng)用425的索引模塊450 被附加地配置成標(biāo)識并收集與包含在電子郵件消息內(nèi)的鏈接的內(nèi)容有關(guān)的信息。鏈接的內(nèi)容的一個示例包括嵌入電子郵件消息內(nèi)的統(tǒng)一資源定位符(URL)。在發(fā)現(xiàn)鏈接的內(nèi)容之后, 應(yīng)用425被配置成將鏈接的內(nèi)容傳送給外部索引服務(wù)415進(jìn)行索引。這樣的索引有利地確保電子郵件消息內(nèi)包含的鏈接的內(nèi)容被索引以便于將來發(fā)現(xiàn)。
在搜索電子郵件消息中的鏈接的內(nèi)容的示例中,關(guān)鍵詞搜索可經(jīng)由搜索模塊465 來制定且針對本地索引460來評估,以便使包含感興趣的內(nèi)容的電子郵件消息從內(nèi)容模塊 455中顯露。在接收到關(guān)鍵詞搜索之后,應(yīng)用425被附加地配置成將關(guān)鍵詞搜索傳送給外部索引服務(wù)415來針對外部索引440進(jìn)行評估。來自外部索引440的諸如鏈接之類的任何結(jié)果可被返回至應(yīng)用425并針對本地索引460來進(jìn)行評估,以便使包含該鏈接的至少一部分的電子郵件消息從內(nèi)容模塊455中顯露。隨后向特定用戶呈現(xiàn)經(jīng)合并的結(jié)果。這樣的示例搜索有利地利用多個源以便提供越來越準(zhǔn)確且完整的關(guān)鍵詞搜索結(jié)果。
現(xiàn)在參考圖5,示出了用于對電子通信內(nèi)包含的鏈接的內(nèi)容進(jìn)行索引的示例方法 500。在示例實(shí)施例中,方法500由通信系統(tǒng)處的應(yīng)用來實(shí)現(xiàn),諸如在上文結(jié)合圖4描述的服務(wù)器設(shè)備處執(zhí)行的索引應(yīng)用。其他實(shí)施例是可能的。
方法500在索引模塊505處開始。索引模塊505被配置成實(shí)例化并實(shí)現(xiàn)用于在特定用戶的收件箱內(nèi)接收到電子郵件消息之后對該電子郵件消息的內(nèi)容進(jìn)行索引的過程。其他實(shí)施例是可能的。例如,在某些實(shí)施例中,索引模塊505被配置成周期性地實(shí)例化并實(shí)現(xiàn)用于維護(hù)特定用戶的電子郵件消息郵箱的索引內(nèi)容的索引過程。
操作流程前進(jìn)至發(fā)現(xiàn)模塊510。發(fā)現(xiàn)模塊510被配置成分析電子郵件消息的源級 (例如,HTML等)內(nèi)容以便標(biāo)識其中所包含的鏈接的內(nèi)容的存在。鏈接的內(nèi)容的示例包括統(tǒng)一資源指示符(URI),諸如統(tǒng)一資源定位符(URL)。示例URL包括“http://www. microsoft, com”。其他實(shí)施例是可能的。例如,發(fā)現(xiàn)模塊510可發(fā)現(xiàn)句法上不正確的鏈接的內(nèi)容(例如,"www. microsoft,,、“microsoft. com,,、“http. microsoft,,等)。
當(dāng)發(fā)現(xiàn)模塊510沒有在電子郵件消息中標(biāo)識出鏈接的內(nèi)容時,操作流程分支到恢復(fù)模塊515?;謴?fù)模塊515被配置成完成對電子郵件消息的索引,并將經(jīng)索引的內(nèi)容存儲在由索引應(yīng)用維護(hù)的本地索引中。
當(dāng)發(fā)現(xiàn)模塊510在電子郵件消息中標(biāo)識出鏈接的內(nèi)容時,操作流程前進(jìn)至查詢模塊520。查詢模塊520被配置成分析本地索引以便確定與所標(biāo)識出的鏈接的內(nèi)容相關(guān)聯(lián)的概述數(shù)據(jù)是否被包含在該本地索引中,如下文進(jìn)一步詳述的。當(dāng)查詢模塊520確定本地索引內(nèi)包含鏈接的內(nèi)容的概述數(shù)據(jù)時,操作流程前進(jìn)至恢復(fù)模塊515以便完成對電子郵件消息的索引。
當(dāng)查詢模塊520確定本地索引中沒有鏈接的內(nèi)容的概述數(shù)據(jù)時,操作流程前進(jìn)至消息模塊525。消息模塊525被配置成生成包括向外部索引服務(wù)請求對與所發(fā)現(xiàn)的鏈接的內(nèi)容相關(guān)聯(lián)內(nèi)容進(jìn)行索引的請求的消息。與示例消息索引相關(guān)的消息“I”包括指示索引應(yīng)用的名稱和電子地址的標(biāo)識符、所發(fā)現(xiàn)的鏈接的內(nèi)容、以及附加的元數(shù)據(jù),(例如,I = [ID, http://www. microsoft, com,元數(shù)據(jù)])。消息的示例元數(shù)據(jù)包括可被認(rèn)為對外部索引服務(wù)有價值的和/或可被貨幣化的任何附加信息,諸如例如,相同的鏈接的數(shù)據(jù)已被發(fā)現(xiàn)模塊 510發(fā)現(xiàn)的次數(shù)、電子郵件消息優(yōu)先級等。其他實(shí)施例是可能的。
將元數(shù)據(jù)傳送給外部索引服務(wù)在許多方面是有利的。例如,這樣的元數(shù)據(jù)使得外部索引服務(wù)能夠更全面地表征該鏈接(諸如,細(xì)化了相關(guān)性計算)或使其能夠返回給定的鏈接內(nèi)容的具體內(nèi)容狀態(tài)。在另一示例中,將與對鏈接的內(nèi)容進(jìn)行索引相關(guān)聯(lián)的負(fù)擔(dān)從索引應(yīng)用轉(zhuǎn)移到外部索引服務(wù)。以此方式,原本對鏈接的內(nèi)容進(jìn)行索引所需的索引應(yīng)用的資源對其他任務(wù)是可用的。附加地,將與對未知內(nèi)容進(jìn)行索引相關(guān)聯(lián)的潛在安全風(fēng)險從索引應(yīng)用轉(zhuǎn)移到外部索引服務(wù)。在另一示例中,在外部索引服務(wù)對到內(nèi)容的鏈接高度估價且對其貨幣化時,允許與索引應(yīng)用相關(guān)聯(lián)的實(shí)體和與外部索引服務(wù)相關(guān)聯(lián)的實(shí)體之間收入共享的可能。
在消息模塊525之后,操作流程前進(jìn)至發(fā)送模塊530。發(fā)送模塊530被配置成向外部索引服務(wù)發(fā)送由消息模塊525生成的消息“I”。在某些實(shí)施例中,發(fā)送模塊530附加地對索引應(yīng)用所維護(hù)的列表進(jìn)行填充,以指示鏈接的內(nèi)容已被傳送給特定外部索引服務(wù),如下文結(jié)合圖6進(jìn)一步詳述的。
在示例實(shí)施例中,消息“I”由接口(例如第一接口 420)根據(jù)用于在索引應(yīng)用和外部索引服務(wù)之間傳輸?shù)耐ㄐ判诺赖膶傩詠硇纬?,諸如遠(yuǎn)程過程調(diào)用或其他形式的異步或同步通信信道。消息“I”是由外部索引服務(wù)的接口(例如第二接口 430)來接收到的,外部索引服務(wù)隨后確定包含在該消息內(nèi)的鏈接的內(nèi)容是否之前已被進(jìn)行了索引。如果包含在該消息內(nèi)的鏈接的內(nèi)容之前未被進(jìn)行索引,則外部索引服務(wù)對鏈接的內(nèi)容進(jìn)行索引。在某些實(shí)施例中,當(dāng)包含在該消息內(nèi)的鏈接的內(nèi)容之前已被進(jìn)行了索引但自從該索引后已經(jīng)過了較長的時間段,則外部索引服務(wù)對鏈接的內(nèi)容進(jìn)行索引。
操作流程隨后前進(jìn)至接收模塊535。在一個實(shí)施例中,接收模塊535被配置成從外部索引服務(wù)接收響應(yīng)消息,該響應(yīng)消息包括對發(fā)現(xiàn)模塊510所發(fā)現(xiàn)的鏈接的內(nèi)容被索引的指示。在其他實(shí)施例中,來自外部索引服務(wù)的響應(yīng)消息包括鏈接的內(nèi)容的概述數(shù)據(jù)。示例概述數(shù)據(jù)包括與鏈接的內(nèi)容相關(guān)聯(lián)的一個或多個關(guān)鍵項(xiàng)、上下文信息、以及其他內(nèi)容。在示例實(shí)施例中,接收模塊535用概要數(shù)據(jù)來填充本地索引。與每當(dāng)在電子郵件消息中標(biāo)識出鏈接的內(nèi)容時發(fā)送模塊就向外部搜索系統(tǒng)發(fā)送消息相比,這樣的步驟有利地提供了搜索速度的改進(jìn)。操作流程隨后前進(jìn)至恢復(fù)模塊515以便完成對電子郵件消息的索引。
示例方法500的其他實(shí)施例也是可能的。例如,在某些實(shí)施例中,由發(fā)現(xiàn)模塊510 和接收模塊535之一或兩者實(shí)現(xiàn)的功能被省略,這在圖5中由虛線來表示。在示例實(shí)施例中,過程流從索引模塊505直接前進(jìn)至查詢模塊520,且過程流從發(fā)送模塊530直接前進(jìn)至恢復(fù)模塊515。其他實(shí)施例是可能的。
現(xiàn)在參考圖6,示出了用于搜索包含在電子通信內(nèi)的鏈接的內(nèi)容的示例方法600。 在示例實(shí)施例中,方法600由通信系統(tǒng)處的應(yīng)用來實(shí)現(xiàn),諸如在上文結(jié)合圖4描述的服務(wù)器設(shè)備處執(zhí)行的索引應(yīng)用。
方法600在輸入模塊605處開始。輸入模塊605被配置成從消息收發(fā)客戶機(jī)接收搜索串,該搜索串包括用于搜索特定用戶的電子郵件消息郵箱內(nèi)的內(nèi)容的一個或多個關(guān)鍵項(xiàng)。使用OUTLOOK. 消息收發(fā)和協(xié)作客戶機(jī)的此類過程的一個示例包括用戶將搜索串 "Windows Phone 7”輸入到文本域“查找”中以在“收件箱”內(nèi)進(jìn)行搜索,以及用戶選擇 “現(xiàn)在尋找”。其他實(shí)施例是可能的。
操作流程前進(jìn)至第一搜索模塊610。第一搜索模塊610被配置成針對輸入模塊605 接收到的搜索串來執(zhí)行對索引應(yīng)用所管理的本地索引的第一本地查詢。第一本地查詢的示例結(jié)果包括電子郵件消息,這些電子郵件消息包括搜索串中的一個或多個關(guān)鍵項(xiàng)。一般而言,可根據(jù)直接觀察到的或從包含在第一本地查詢的電子郵件消息結(jié)果內(nèi)的或與其相關(guān)聯(lián)的元數(shù)據(jù)中推斷的相關(guān)性、置信度、或任何其他度量來組織這些結(jié)果。
操作流隨后前進(jìn)至第一判定模塊615。第一判定模塊615被配置成確定與用戶相關(guān)聯(lián)的鏈接的內(nèi)容是否曾被傳送給任何外部索引服務(wù)。在示例實(shí)施例中,這樣的信息可被包含在與用戶相關(guān)聯(lián)的列表內(nèi)并由索引應(yīng)用來管理,這樣的信息包括對鏈接的內(nèi)容之前已被傳送給一個或多個外部索引設(shè)備的特定指示(例如,標(biāo)志和/或索引服務(wù)名)。其他實(shí)施例是可能的。
當(dāng)?shù)谝慌卸K615確定與用戶相關(guān)聯(lián)的鏈接的內(nèi)容之前未被傳送給外部索引服務(wù)時,操作流程分支到返回模塊620。返回模塊620被配置成返回第一本地查詢的例如被第一搜索模塊610獲取的結(jié)果。
操作流程隨后前進(jìn)至合并模塊625。合并模塊625被配置成將第一本地查詢的結(jié)果和與外部索引查詢相關(guān)聯(lián)的結(jié)果合并,如下文進(jìn)一步描述的。在示例場景中,與外部索引查詢相關(guān)聯(lián)的結(jié)果對應(yīng)于空值。操作流隨后前進(jìn)至呈現(xiàn)模塊630,呈現(xiàn)模塊630被配置成經(jīng)由消息收發(fā)客戶機(jī)向用戶呈現(xiàn)合并后的結(jié)果(即,第一本地查詢結(jié)果)。
當(dāng)?shù)谝慌卸K615確定與用戶相關(guān)聯(lián)的鏈接的內(nèi)容之前已被傳送給外部索引服務(wù)時,操作流分支到請求模塊635。請求模塊635被配置成生成包括向在第一判定模塊 615處標(biāo)識出的一個或多個外部索引服務(wù)請求對與搜索串中的一個或多個關(guān)鍵項(xiàng)相關(guān)聯(lián)的索引內(nèi)容進(jìn)行搜索的請求的消息。與示例搜索相關(guān)的消息“S”包括指示索引應(yīng)用的名稱和電子地址的標(biāo)識符、搜索串的關(guān)鍵項(xiàng)、以及附加的元數(shù)據(jù),(例如,S= [ID, Windows Phone7,元數(shù)據(jù)])。其他實(shí)施例是可能的。
消息“S”的示例元數(shù)據(jù)類似于上文結(jié)合圖5描述的示例消息“I”的元數(shù)據(jù)。另外, 消息“S”由接口(例如第一接口 420)根據(jù)用于在索引應(yīng)用和相應(yīng)的外部索引服務(wù)之間的傳輸?shù)耐ㄐ判诺赖膶傩詠硇纬?,諸如遠(yuǎn)程過程調(diào)用或其他形式的異步或同步通信信道。消息“S”是由一個或多個外部索引服務(wù)的接口(例如第二接口 430)接收到的,該一個或多個外部索引服務(wù)進(jìn)而針對搜索串中的關(guān)鍵項(xiàng)來查詢相關(guān)聯(lián)的索引。
在請求模塊635生成了消息“S”之后,操作流前進(jìn)至消息接收模塊640。消息接收模塊640被配置成從一個或多個外部索引服務(wù)接收包括相應(yīng)的外部索引查詢的結(jié)果的響應(yīng)消息。示例外部索引查詢結(jié)果不是包括空響應(yīng)、就是包括被標(biāo)識成具有與搜索串中的一個或多個關(guān)鍵項(xiàng)相關(guān)聯(lián)的內(nèi)容的一個或多個鏈接。一般而言,可根據(jù)直接觀察到的或從包含在外部索引查詢結(jié)果的一個或多個鏈接內(nèi)的或與其相關(guān)聯(lián)的元數(shù)據(jù)中推斷出的相關(guān)性、 置信度、或任何其他度量來組織這些結(jié)果。
操作流程隨后前進(jìn)至第一分析模塊645。第一分析模塊645被配置成確定相應(yīng)的外部索引查詢結(jié)果包括空響應(yīng)還是包括被標(biāo)識成具有與搜索串中的一個或多個關(guān)鍵項(xiàng)相關(guān)聯(lián)的內(nèi)容的一個或多個鏈接。
當(dāng)?shù)谝环治瞿K645確定所有相應(yīng)的外部查詢都包括空響應(yīng)時,操作流分支到返回模塊620。如上文討論的,返回模塊620被配置成返回第一本地查詢的例如被第一搜索模塊610獲取的結(jié)果。操作流隨后前進(jìn)至被配置成將第一本地查詢的結(jié)果與同外部索引查詢相關(guān)聯(lián)的結(jié)果進(jìn)行合并的合并模塊625。在示例場景中,與外部索引查詢相關(guān)聯(lián)的結(jié)果對應(yīng)于空值。操作流隨后前進(jìn)至呈現(xiàn)模塊630,呈現(xiàn)模塊630被配置成經(jīng)由消息收發(fā)客戶機(jī)向用戶呈現(xiàn)合并后的結(jié)果(即,第一本地查詢結(jié)果)。
當(dāng)?shù)谝环治瞿K645確定相應(yīng)的外部索引查詢結(jié)果包括被標(biāo)識成具有與搜索串中的一個或多個關(guān)鍵項(xiàng)相關(guān)聯(lián)的內(nèi)容的一個或多個鏈接時,操作流分支到第二搜索模塊 650。第二搜索模塊650被配置成包括針對由相應(yīng)的外部索引服務(wù)所返回的一個或多個鏈接來執(zhí)行對本地索引的第二本地查詢。第二本地查詢的示例結(jié)果包括含所述一個或多個鏈接的電子郵件消息。一般而言,包含在第二查詢的電子郵件消息內(nèi)的鏈接可以在句法上部分正確或全部正確。另外,可根據(jù)直接觀察到的或從包含在第二本地查詢的電子郵件消息結(jié)果內(nèi)的或與其相關(guān)聯(lián)的元數(shù)據(jù)中推斷出的相關(guān)性、置信度、或任何其他度量來組織這些結(jié)果。
操作流隨后前進(jìn)至第二分析模塊655。第二分析模塊655被配置成分析第二本地查詢的結(jié)果以便確定該本地索引是否包括由相應(yīng)的外部索引服務(wù)所返回的一個或多個鏈接。
當(dāng)?shù)诙治瞿K655確定該本地索引不包括包含由相應(yīng)的外部索引服務(wù)所返回的一個或多個鏈接的電子郵件消息時,操作流程分支到返回模塊620。操作流程隨后前進(jìn)至被配置成將第一本地查詢的結(jié)果與第二本地查詢的結(jié)果進(jìn)行合并的合并模塊625。在示例場景中,第二本地索引查詢的結(jié)果對應(yīng)于空值。操作流隨后前進(jìn)至呈現(xiàn)模塊630,呈現(xiàn)模塊630被配置成經(jīng)由消息收發(fā)客戶機(jī)向用戶呈現(xiàn)合并后的查詢結(jié)果(即,第一本地查詢結(jié)果)。
當(dāng)?shù)诙治瞿K655確定該本地索引的確包括包含由相應(yīng)的外部索引服務(wù)所返回的一個或多個鏈接的電子郵件消息時,操作流程分支到合并模塊625。在示例場景中,合并模塊625被配置成將第一查詢的結(jié)果與第二本地查詢的結(jié)果進(jìn)行合并。操作流隨后前進(jìn)至呈現(xiàn)模塊630,呈現(xiàn)模塊630被配置成經(jīng)由消息收發(fā)客戶機(jī)向用戶呈現(xiàn)合并后的查詢結(jié)果(即,第一本地查詢結(jié)果+第二本地查詢結(jié)果)。
本文中描述的示例實(shí)施例可被實(shí)現(xiàn)為聯(lián)網(wǎng)計算系統(tǒng)環(huán)境中的計算設(shè)備里的邏輯操作。該邏輯操作可被實(shí)現(xiàn)為(i)在計算設(shè)備上執(zhí)行的計算機(jī)執(zhí)行的指令、步驟或程序模塊的序列;以及(ii)在計算設(shè)備內(nèi)運(yùn)行的內(nèi)連邏輯或硬件模塊。
例如,邏輯操作可用軟件、固件、模擬/數(shù)字電路、和/或其任何組合來實(shí)現(xiàn)為算法,而不背離本公開的范圍。軟件、固件、或類似的計算機(jī)指令序列可被編碼并存儲在計算機(jī)可讀介質(zhì)上,并且還可被編碼在載波信號內(nèi),以便在計算設(shè)備之間進(jìn)行傳輸。
盡管用結(jié)構(gòu)特征和/或方法動作專用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述具體特征或動作。更確切而言,上述具體特征和動作是作為實(shí)現(xiàn)權(quán)利要求的示例形式公開的。
權(quán)利要求
1.一種用于對包含在電子通信內(nèi)的鏈接的內(nèi)容進(jìn)行索引的方法,所述方法包括 在計算設(shè)備(410)上對至少一個電子通信進(jìn)行索引;在所述計算設(shè)備(410)處分析所述至少一個通信的內(nèi)容以便標(biāo)識出包含在所述至少一個通信中的鏈接的內(nèi)容;在所述計算設(shè)備(410)處形成包括對所述鏈接的內(nèi)容進(jìn)行索引的請求的消息;以及將所述消息從所述計算設(shè)備(410)發(fā)送給外部服務(wù)(41 來對所述鏈接的內(nèi)容進(jìn)行索引。
2.如權(quán)利要求1的方法,其特征在于,還包括在以下各項(xiàng)之一之后對所述電子通信進(jìn)行索引對在所述計算設(shè)備(410)處接收到所述至少一個電子通信的指示;以及對被配置成維護(hù)所述計算設(shè)備(410)處的索引(460)的周期性索引過程的實(shí)例化的指示。
3.如權(quán)利要求1所述的方法,其特征在于,還包括標(biāo)識包括統(tǒng)一資源指示符的至少一部分的鏈接的內(nèi)容。
4.如權(quán)利要求1所述的方法,其特征在于,還包括形成包括以下各項(xiàng)的消息索引過程標(biāo)識符、所標(biāo)識的鏈接的內(nèi)容、以及包含與所標(biāo)識的鏈接的內(nèi)容相關(guān)聯(lián)的多個附加信息的元數(shù)據(jù)。
5.如權(quán)利要求1所述的方法,其特征在于,還包括填充由索引過程所維護(hù)的列表,以指示所標(biāo)識的鏈接的內(nèi)容到所述外部服務(wù)G15)的傳送。
6.如權(quán)利要求1所述的方法,其特征在于,還包括從所述外部服務(wù)(415)接收響應(yīng),所述響應(yīng)包括完成對所標(biāo)識的鏈接的內(nèi)容進(jìn)行索引的指示。
7.如權(quán)利要求1所述的方法,其特征在于,還包括從所述外部服務(wù)(415)接收響應(yīng),所述響應(yīng)包括與所標(biāo)識的鏈接的內(nèi)容相關(guān)聯(lián)的概述數(shù)據(jù)。
8.如權(quán)利要求1所述的方法,其特征在于,所述電子通信是從包括以下各項(xiàng)的組中選擇的電子郵件消息;文本消息;即時消息;日歷項(xiàng);任務(wù)項(xiàng);筆記項(xiàng);社交協(xié)作消息;和語音郵件消息。
9.一種用于在通信系統(tǒng)G10)中搜索包含在電子通信內(nèi)的鏈接的內(nèi)容的方法,所述方法包括在所述通信系統(tǒng)(410)處從消息收發(fā)應(yīng)用(425)接收包括用于搜索電子通信的至少一個關(guān)鍵項(xiàng)的搜索串;在所述通信系統(tǒng)(410)處根據(jù)所述搜索串查詢本地索引G60),以便獲取第一本地查詢結(jié)果;在所述通信系統(tǒng)(410)處標(biāo)識出具有從所述通信系統(tǒng)(410)接收到的鏈接的內(nèi)容的至少一個外部服務(wù)G15);將消息從所述通信系統(tǒng)(410)發(fā)送給所述至少一個外部服務(wù)G15),所述消息包括執(zhí)行對外部索引(440)的外部搜索的請求;從所述至少一個外部索引服務(wù)(415)接收包括外部查詢結(jié)果的響應(yīng); 在所述通信系統(tǒng)(410)處使用所述外部查詢結(jié)果來查詢所述本地索引G60),以便獲取第二本地查詢結(jié)果;以及向所述消息收發(fā)應(yīng)用(42 返回包括所述第一本地查詢結(jié)果和所述第二本地查詢結(jié)果中的至少一部分的合并后的搜索結(jié)果。
10. 一種計算設(shè)備(410),包括: 處理單元O05);以及連接至所述處理單元O05)的系統(tǒng)存儲器010),所述系統(tǒng)存儲器(210)包括指令,所述指令在由所述處理單元(20 執(zhí)行時使得所述處理單元(20 實(shí)現(xiàn)索引模塊(450)和搜索模塊(46 來評估包含在電子通信內(nèi)的鏈接的內(nèi)容,其中所述索引模塊(450)被配置成接收用于對至少一個電子通信進(jìn)行索引的指令;分析所述至少一個通信的內(nèi)容以便標(biāo)識出所述至少一個通信中所包含的鏈接的內(nèi)容;形成包括對所標(biāo)識的鏈接的內(nèi)容進(jìn)行索引的請求的第一消息,其中所述第一消息包括索引過程標(biāo)識符和所標(biāo)識的鏈接的內(nèi)容;以及將所述第一消息發(fā)送給外部服務(wù)(41 來對所標(biāo)識的鏈接的內(nèi)容進(jìn)行索引;以及所述搜索模塊(46 被配置成接收包括用于搜索多個電子通信的至少一個關(guān)鍵項(xiàng)的搜索串; 根據(jù)所述搜索串查詢本地索引(460),以便獲取第一本地查詢結(jié)果; 標(biāo)識具有從所述搜索模塊(46 接收到的鏈接的內(nèi)容的所述外部服務(wù)G15); 將第二消息發(fā)送給所述外部服務(wù)G15),所述第二消息包括執(zhí)行對外部索引G40)的外部搜索的請求;從所述外部服務(wù)(41 接收包括外部查詢結(jié)果的響應(yīng);根據(jù)所述外部查詢結(jié)果來查詢所述本地索引G60),以便獲取第二本地查詢結(jié)果;以及返回包括所述第一本地查詢結(jié)果和所述第二本地查詢結(jié)果的交集的合并后的搜索結(jié)果。
全文摘要
本發(fā)明涉及使用外部搜索系統(tǒng)來搜索鏈接的內(nèi)容。當(dāng)鏈接位于給定通信內(nèi)時,消息被遞送給外部索引服務(wù)。該消息包括對包含在該鏈接內(nèi)的內(nèi)容進(jìn)行索引以便確保該鏈接被索引的請求。當(dāng)在通信系統(tǒng)內(nèi)執(zhí)行關(guān)鍵詞搜索查詢時,本地索引以及與外部索引服務(wù)相關(guān)聯(lián)的外部索引都被查詢。來自查詢的結(jié)果被合并且被顯露。
文檔編號G06F17/30GK102542010SQ20111041802
公開日2012年7月4日 申請日期2011年12月7日 優(yōu)先權(quán)日2010年12月8日
發(fā)明者A·韋特莫爾, J·佩雷拉, J·埃德蘭恩, T·松德林 申請人:微軟公司