使用外部搜索系统来搜索链接的内容的制作方法

文档序号:6441243阅读:165来源:国知局
专利名称:使用外部搜索系统来搜索链接的内容的制作方法
技术领域
本发明涉及网络技术,尤其涉及搜索技术。
技术背景
当在一组电子通信内搜索内容时常常采用关键词搜索。这在感兴趣的内容被包含在嵌入给定通信内的链接内时可导致问题。例如,如果在对电子邮件消息中的的内容进行初始查看之后经过足够的时间段,用户可能难以记住并阐述包含该链接内所包含的项的搜索查询。在这样的场景中,可能需要大量时间来重新定位感兴趣的内容。发明内容
在一方面,一种用于对包含在电子通信内的所链接的内容进行索引的方法,包括 在计算设备上对至少一个电子通信进行索引;在所述计算设备处分析的所述至少一个通信的内容,以便标识其中包含的链接的内容;在所述计算设备处形成包括对所述链接的内容进行索引的请求的消息;以及将所述消息从所述计算设备发送给外部服务来对所述链接的内容进行索引。
在另一方面,一种用于在通信系统中搜索包含在电子通信内的链接的内容的方法,包括在所述通信系统处从消息收发应用接收包括用于搜索电子通信的至少一个关键项的搜索串;在所述通信系统处根据所述搜索串查询本地索引,以便获取第一本地查询结果;在所述通信系统处标识具有从所述通信系统接收到的链接的内容的至少一个外部服务;将消息从所述通信系统发送给所述外部服务,所述消息包括执行对外部索引的外部搜索的请求;从所述外部索引服务接收包括外部查询结果的响应;在所述通信系统处使用所述外部查询结果来查询所述本地索引,以便获取第二本地查询结果;以及向所述消息收发应用返回包括所述第一本地查询结果和第二本地查询结果中的至少一部分的经合并的搜索结果。
在又一方面,一种计算设备包括处理单元;以及连接至所述处理单元的系统存储器,所述系统存储器包括在由所述处理单元执行时使得所述处理单元实现用于评估包含在电子通信内的链接的内容的索引模块和搜索模块的指令,其中所述索引模块被配置成 接收用于对至少一个电子通信进行索引的指令;分析所述至少一个通信的内容,以便标识其中包含的链接的内容;形成包括对所标识的链接的内容进行索引的请求的第一消息,其中所述第一消息包括索引处理标识符和所标识的链接的内容;以及将所述第一消息发送给第一外部服务来对所标识链接的内容进行索引;并且所述搜索模块被配置成接收包括用于搜索多个电子通信的至少一个关键项的搜索串;根据所述搜索串查询本地索引,以便获取第一本地查询结果;标识具有从所述搜索模块接收到的链接的内容的至少一个外部服务;将第二消息发送给所述至少一个外部服务,所述第二消息包括执行对外部索引的外部搜索的请求;从所述至少一个外部索引服务接收包括外部查询结果的响应;根据所述外部查询结果来查询所述本地索引,以便获取第二本地查询结果;以及返回包括所述第一本地4查询结果和所述第二本地查询结果的交集的经合并的搜索结果。
提供本发明内容是为了以简化的形式介绍将在以下具体实施方式
中进一步描述的一些概念。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也决不旨在用于限制所要求保护的主题的范围。


本公开的各方面在结合附图考虑以下各实施例的详细描述的情况下可被更全面地理解。
图1示出了示例联网计算环境。
图2示出了示例服务器计算设备。
图3示出了客户机计算设备的示例逻辑模块。
图4示出了示例计算设备之间的示例通信。
图5示出了用于在电子通信系统中对包含在电子通信内的链接的内容进行索引的示例方法的流程图。
图6示出了用于在电子通信系统中搜索包含在电子通信内的链接的内容的示例方法的流程图。
具体实施方式
本发明涉及在电子通信系统中对包含在电子通信内的链接的内容进行索引和搜索。
在示例实施例中,当链接位于给定通信内时,消息被递送给外部索引服务。该消息包括对与该连接相关联的内容进行索引的请求。当在通信系统内执行关键词搜索查询时, 本地索引以及与外部索引服务相关联的外部索引都被查询。来自查询的结果被合并且被显露。尽管没有进行如此限制,但是对本公开的各个方面的理解通过讨论以下给出的示例来达成。
现在参考图1,示出了示例联网计算环境100。计算环境100包括客户机设备105、 服务器设备110、存储设备115和网络120。其他实施例是可能的。例如,计算环境100通常可按需包括更多或更少设备、网络和其他组件。
客户机设备105和服务器设备110是以下结合图2更详细描述的通用计算设备。 在示例实施例中,服务器设备110是实现业务过程的业务服务器。示例业务过程包括消息接发和通信过程、协作过程、数据管理过程等。
来自华盛顿州雷蒙德市的微软公司的SHAREPOINT 协作服务器是实现支持协作、文件共享和web发布的业务过程的业务服务器的示例。同样来自微软公司的Exchange Server是实现如下各项的消息收发和协作业务过程的业务服务器的示例支持电子邮件、 日历、和联系人以及任务特征,支持移动和基于web的对信息的访问,以及支持数据存储。 其他业务过程是可能的。
在一些实施例中,服务器设备110包括多个以“场(Farm) ”配置一起操作以实现业务过程的互连的服务器设备。服务器设备110的其他实施例是可能的。
存储设备115是诸如关系数据库或任何其他类型的永久数据存储设备之类的数据存储设备。存储设备115按预定义格式来存储数据,以使得服务器设备110可查询、修改、 和管理其上存储的数据。这样的数据存储设备的示例包括邮箱存储和地址服务,诸如来自微软公司的ACTIVE DIRECTORY 目录服务。存储设备115的其他实施例是可能的。
网络120是用于一个或多个设备之间的数据转移的双向数据通信路径。在示例实施例中,网络120建立用于客户机设备105与服务器设备110之间的数据转移的通信路径。 通常,网络120可以是多个无线或硬线连接的WAN、LAN、因特网或其他基于分组的通信网络中的任一种,以使得数据可在示例计算环境100的元件之间被转移。网络120的其他实施例是可能的。
现在参看图2,图1的服务器设备110被更详细地示出。如以上所提及的,服务器设备110是通用计算设备。示例通用计算设备包括台式计算机、膝上型计算机、个人数据助理、智能电话、蜂窝电话、和其他计算设备。
服务器设备110包括至少一个处理单元205和系统存储器210。系统存储器210 可以存储用于控制服务器设备110或另一计算设备的操作的操作系统215。一种示例的操作系统215可以是来自微软公司的WINDOWS 操作系统或服务器,例如Exchange服务器、 SHAREP0INT⑧协作服务器以及其它。
系统存储器210还可以包括一个或多个软件应用220并且可以包括程序数据。软件应用220可包括许多不同类型的单个和多个功能的程序,诸如电子邮件程序、日历程序、 因特网浏览程序、电子表格程序、用于跟踪和报告信息的程序、文字处理程序、即时消息收发程序、web会议服务程序以及许多其他程序。一个示例程序是来自微软公司的Office套件。
系统存储器210可包括计算机可读介质。计算机可读介质的示例包括计算机可读存储介质和通信介质。计算机可读存储介质区别于通信介质。
计算机可读存储介质可以包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的物理易失性和非易失性,可移动和不可移动介质。计算机可读存储介质还包括,但不仅限于,RAM、ROM、EEPR0M、闪存或其他存储器技术,CD-R0M、DVD或其他光学存储,磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需要的信息并可以被服务器设备110访问的任何其他介质。任何这样的计算机存储介质都可以是服务器设备110的一部分或外置于该服务器设备100。这样存储在图2中由可移动存储225和不可移动存储230示出。
通信介质通常由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据来体现,并包括任何信息传递介质。术语“已调制数据信号”是指具有以在信号中编码信息的方式被设定或改变其一个或多个特征的信号。作为示例,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RFjl 外线和其他无线介质。
服务器设备110还具有任何数目或类型的输入设备235和输出设备M0。示例输入设备235包括键盘、鼠标、笔、语音输入设备、触摸输入设备等。示例输出设备240包括显示器、扬声器、打印机等。服务器设备110还可包括配置成在分布式计算系统环境中允许通过网络(例如,网络120)与其他计算设备通信的通信连接M5。
图1的客户机设备105与如上所述的服务器设备110相似地配置。
现在附加地参考图3,客户机设备105还被配置为包括到服务器设备110的一个或多个不同类型的客户机接口。在所示示例中,客户机设备105包括本地客户机305、web接入客户机310、移动接入客户机315以及语音接入客户机320。到服务器设备110的其他类型的客户机接口也是可能的。
本地客户机305被配置为专用消息收发和协作客户机,其用作到服务器设备110 的接口,并且是在客户机设备105上执行的应用套件的一部分。在一个实施例中,本地客户机305包括OUTLOOKk 消息收发和协作客户机,它是作为微软公司的Office套件的一部分的电子邮件应用。用户可通过OUTLOOK. 消息收发和协作客户机编写电子邮件、与电子邮件交互、发送和接收电子邮件。本地客户机305的其他实施例是可能的。例如,在一个实施例中,本地客户机305包括来自微软公司的Office通信器客户机、与Off ice通信服务器一起使用的即时消息收发客户机。本地客户机305的其他实施例也是可能的。
web接入客户机310被配置成使用诸如因特网之类的网络连接远程地访问服务器设备110。在一个实施例中,web接入客户机310是Exchange服务器的Outlook Web Access(0WA)web邮件服务。在示例实施例中,客户机设备105使用web浏览器来经由 Outlook Web Access来连接到Exchange服务器。这提供类似OUTLOOK 消息收发和协作客户机中的接口的用户接口,其中用户可编写电子邮件、与电子邮件交互、发送和接收电子邮件。web接入客户机310的其他实施例是可能的。例如,web接入客户机310可被配置成连接到SHAREP0INT 协作服务器以访问相对应的协作、文件共享和web发布服务。web接入客户机310的其他实施例也是可能的。
移动接入客户机315是另一种类型的到服务器设备110的客户机接口。在一个实施例中,移动接入客户机315包括带有ACTIVESYNC @同步技术的移动接入,或者WINDOWS VISTA 操作系统或Windows 7操作系统的Windows移动设备中心,其全部来自微软公司。 示例移动设备包括蜂窝电话、智能电话、个人数字助理等等。移动接入客户机315的其他实施例是可能的。
语音接入客户机320是又一种类型的到服务器设备110的客户机接口。在一些实施例中,语音接入客户机320包括Exchange服务器中支持的Exchange统一消息收发。通过统一消息收发,用户具有用于电子邮件和语音邮件的一个收件箱。语音邮件被直接递送到OUTLOOK 消息收发和协作客户机收件箱。包含语音邮件的消息还可以包括附件。语音接入客户机320的其他实施例是可能的。
现在参考图4,示例框图400示出了在用于对包含在电子通信内的链接的内容进行索引和搜索的各计算设备之间的通信。示例通信包括电子邮件消息、文本消息、即时消息、日历项、任务项、笔记项、社交协作消息(例如hcebook状态更新、Twitter更新等)以及语音邮件消息(例如被录制成文本)。电子通信的还有一些类型是可能的。
框图400包括第一服务器设备405和第二服务器设备410,各自与如上所述的服务器设备110类似地配置。第一服务器设备405进一步包括外部索引服务415和第一接口 420。第二服务器设备410进一步包括应用425和第二接口 430。其他配置是可能的。例如,框图400通常可按需包括更多或更少的计算设备和其他组件。
第一服务器设备405的外部索引服务415包括在第一服务器设备405上执行的用于实现诸如web索引服务(例如,Bing,, Google等)、文档索引服务(例如,SharePointCN 102542010 A等)之类的索引服务的功能的软件的逻辑模块。例如,外部索引服务415包括外部索引模块435、外部索引440和外部搜索模块445。外部索引服务415的其他逻辑模块是可能的。
外部索引服务415的外部索引模块435被配置成爬行并解析第一服务设备405外部所容纳的网页或文档内容,并将经解析的内容存储在外部索引440中。外部搜索模块445 被配置成接收包括一个或多个搜索准则(例如,关键词)的搜索查询,针对外部索引440 中的经分析的内容来评估搜索查询,以及向搜索查询发起者(例如,浏览器)返回与包含同搜索准则相关联的内容的一个或多个网页或文档相对应的信息(例如,链接)。在示例实施例中,网页或文档内容包括在给定网页或文档内所包含的任何可直接观测或以其他方式推断的信息。
第二服务器设备410的应用425包括在第二服务器设备410上执行的用于实现被配置成支持电子通信过程的业务服务器的索引功能的软件的逻辑模块。例如,应用425包括索引模块450、内容模块455、本地索引460和搜索模块465。应用425的其他逻辑模块也是可能的。
应用425的索引模块450被配置成收集并解析包含在内容模块455内的电子通信内容,并将经解析的内容存储在本地索引460中。搜索模块465被配置成接收包括一个或多个搜索准则(例如,关键词)的搜索查询,针对本地索引460中的经分析的内容来评估搜索查询,以及向搜索查询发起者(例如,消息收发客户机)返回包含与指定的搜索准则相关联的内容的一个或多个电子通信。
在对电子邮件消息中的链接的内容进行索引的示例中,应用425的索引模块450 被附加地配置成标识并收集与包含在电子邮件消息内的链接的内容有关的信息。链接的内容的一个示例包括嵌入电子邮件消息内的统一资源定位符(URL)。在发现链接的内容之后, 应用425被配置成将链接的内容传送给外部索引服务415进行索引。这样的索引有利地确保电子邮件消息内包含的链接的内容被索引以便于将来发现。
在搜索电子邮件消息中的链接的内容的示例中,关键词搜索可经由搜索模块465 来制定且针对本地索引460来评估,以便使包含感兴趣的内容的电子邮件消息从内容模块 455中显露。在接收到关键词搜索之后,应用425被附加地配置成将关键词搜索传送给外部索引服务415来针对外部索引440进行评估。来自外部索引440的诸如链接之类的任何结果可被返回至应用425并针对本地索引460来进行评估,以便使包含该链接的至少一部分的电子邮件消息从内容模块455中显露。随后向特定用户呈现经合并的结果。这样的示例搜索有利地利用多个源以便提供越来越准确且完整的关键词搜索结果。
现在参考图5,示出了用于对电子通信内包含的链接的内容进行索引的示例方法 500。在示例实施例中,方法500由通信系统处的应用来实现,诸如在上文结合图4描述的服务器设备处执行的索引应用。其他实施例是可能的。
方法500在索引模块505处开始。索引模块505被配置成实例化并实现用于在特定用户的收件箱内接收到电子邮件消息之后对该电子邮件消息的内容进行索引的过程。其他实施例是可能的。例如,在某些实施例中,索引模块505被配置成周期性地实例化并实现用于维护特定用户的电子邮件消息邮箱的索引内容的索引过程。
操作流程前进至发现模块510。发现模块510被配置成分析电子邮件消息的源级 (例如,HTML等)内容以便标识其中所包含的链接的内容的存在。链接的内容的示例包括统一资源指示符(URI),诸如统一资源定位符(URL)。示例URL包括“http://www. microsoft, com”。其他实施例是可能的。例如,发现模块510可发现句法上不正确的链接的内容(例如,"www. microsoft,,、“microsoft. com,,、“http. microsoft,,等)。
当发现模块510没有在电子邮件消息中标识出链接的内容时,操作流程分支到恢复模块515。恢复模块515被配置成完成对电子邮件消息的索引,并将经索引的内容存储在由索引应用维护的本地索引中。
当发现模块510在电子邮件消息中标识出链接的内容时,操作流程前进至查询模块520。查询模块520被配置成分析本地索引以便确定与所标识出的链接的内容相关联的概述数据是否被包含在该本地索引中,如下文进一步详述的。当查询模块520确定本地索引内包含链接的内容的概述数据时,操作流程前进至恢复模块515以便完成对电子邮件消息的索引。
当查询模块520确定本地索引中没有链接的内容的概述数据时,操作流程前进至消息模块525。消息模块525被配置成生成包括向外部索引服务请求对与所发现的链接的内容相关联内容进行索引的请求的消息。与示例消息索引相关的消息“I”包括指示索引应用的名称和电子地址的标识符、所发现的链接的内容、以及附加的元数据,(例如,I = [ID, http://www. microsoft, com,元数据])。消息的示例元数据包括可被认为对外部索引服务有价值的和/或可被货币化的任何附加信息,诸如例如,相同的链接的数据已被发现模块 510发现的次数、电子邮件消息优先级等。其他实施例是可能的。
将元数据传送给外部索引服务在许多方面是有利的。例如,这样的元数据使得外部索引服务能够更全面地表征该链接(诸如,细化了相关性计算)或使其能够返回给定的链接内容的具体内容状态。在另一示例中,将与对链接的内容进行索引相关联的负担从索引应用转移到外部索引服务。以此方式,原本对链接的内容进行索引所需的索引应用的资源对其他任务是可用的。附加地,将与对未知内容进行索引相关联的潜在安全风险从索引应用转移到外部索引服务。在另一示例中,在外部索引服务对到内容的链接高度估价且对其货币化时,允许与索引应用相关联的实体和与外部索引服务相关联的实体之间收入共享的可能。
在消息模块525之后,操作流程前进至发送模块530。发送模块530被配置成向外部索引服务发送由消息模块525生成的消息“I”。在某些实施例中,发送模块530附加地对索引应用所维护的列表进行填充,以指示链接的内容已被传送给特定外部索引服务,如下文结合图6进一步详述的。
在示例实施例中,消息“I”由接口(例如第一接口 420)根据用于在索引应用和外部索引服务之间传输的通信信道的属性来形成,诸如远程过程调用或其他形式的异步或同步通信信道。消息“I”是由外部索引服务的接口(例如第二接口 430)来接收到的,外部索引服务随后确定包含在该消息内的链接的内容是否之前已被进行了索引。如果包含在该消息内的链接的内容之前未被进行索引,则外部索引服务对链接的内容进行索引。在某些实施例中,当包含在该消息内的链接的内容之前已被进行了索引但自从该索引后已经过了较长的时间段,则外部索引服务对链接的内容进行索引。
操作流程随后前进至接收模块535。在一个实施例中,接收模块535被配置成从外部索引服务接收响应消息,该响应消息包括对发现模块510所发现的链接的内容被索引的指示。在其他实施例中,来自外部索引服务的响应消息包括链接的内容的概述数据。示例概述数据包括与链接的内容相关联的一个或多个关键项、上下文信息、以及其他内容。在示例实施例中,接收模块535用概要数据来填充本地索引。与每当在电子邮件消息中标识出链接的内容时发送模块就向外部搜索系统发送消息相比,这样的步骤有利地提供了搜索速度的改进。操作流程随后前进至恢复模块515以便完成对电子邮件消息的索引。
示例方法500的其他实施例也是可能的。例如,在某些实施例中,由发现模块510 和接收模块535之一或两者实现的功能被省略,这在图5中由虚线来表示。在示例实施例中,过程流从索引模块505直接前进至查询模块520,且过程流从发送模块530直接前进至恢复模块515。其他实施例是可能的。
现在参考图6,示出了用于搜索包含在电子通信内的链接的内容的示例方法600。 在示例实施例中,方法600由通信系统处的应用来实现,诸如在上文结合图4描述的服务器设备处执行的索引应用。
方法600在输入模块605处开始。输入模块605被配置成从消息收发客户机接收搜索串,该搜索串包括用于搜索特定用户的电子邮件消息邮箱内的内容的一个或多个关键项。使用OUTLOOK. 消息收发和协作客户机的此类过程的一个示例包括用户将搜索串 "Windows Phone 7”输入到文本域“查找”中以在“收件箱”内进行搜索,以及用户选择 “现在寻找”。其他实施例是可能的。
操作流程前进至第一搜索模块610。第一搜索模块610被配置成针对输入模块605 接收到的搜索串来执行对索引应用所管理的本地索引的第一本地查询。第一本地查询的示例结果包括电子邮件消息,这些电子邮件消息包括搜索串中的一个或多个关键项。一般而言,可根据直接观察到的或从包含在第一本地查询的电子邮件消息结果内的或与其相关联的元数据中推断的相关性、置信度、或任何其他度量来组织这些结果。
操作流随后前进至第一判定模块615。第一判定模块615被配置成确定与用户相关联的链接的内容是否曾被传送给任何外部索引服务。在示例实施例中,这样的信息可被包含在与用户相关联的列表内并由索引应用来管理,这样的信息包括对链接的内容之前已被传送给一个或多个外部索引设备的特定指示(例如,标志和/或索引服务名)。其他实施例是可能的。
当第一判定模块615确定与用户相关联的链接的内容之前未被传送给外部索引服务时,操作流程分支到返回模块620。返回模块620被配置成返回第一本地查询的例如被第一搜索模块610获取的结果。
操作流程随后前进至合并模块625。合并模块625被配置成将第一本地查询的结果和与外部索引查询相关联的结果合并,如下文进一步描述的。在示例场景中,与外部索引查询相关联的结果对应于空值。操作流随后前进至呈现模块630,呈现模块630被配置成经由消息收发客户机向用户呈现合并后的结果(即,第一本地查询结果)。
当第一判定模块615确定与用户相关联的链接的内容之前已被传送给外部索引服务时,操作流分支到请求模块635。请求模块635被配置成生成包括向在第一判定模块 615处标识出的一个或多个外部索引服务请求对与搜索串中的一个或多个关键项相关联的索引内容进行搜索的请求的消息。与示例搜索相关的消息“S”包括指示索引应用的名称和电子地址的标识符、搜索串的关键项、以及附加的元数据,(例如,S= [ID, Windows Phone7,元数据])。其他实施例是可能的。
消息“S”的示例元数据类似于上文结合图5描述的示例消息“I”的元数据。另外, 消息“S”由接口(例如第一接口 420)根据用于在索引应用和相应的外部索引服务之间的传输的通信信道的属性来形成,诸如远程过程调用或其他形式的异步或同步通信信道。消息“S”是由一个或多个外部索引服务的接口(例如第二接口 430)接收到的,该一个或多个外部索引服务进而针对搜索串中的关键项来查询相关联的索引。
在请求模块635生成了消息“S”之后,操作流前进至消息接收模块640。消息接收模块640被配置成从一个或多个外部索引服务接收包括相应的外部索引查询的结果的响应消息。示例外部索引查询结果不是包括空响应、就是包括被标识成具有与搜索串中的一个或多个关键项相关联的内容的一个或多个链接。一般而言,可根据直接观察到的或从包含在外部索引查询结果的一个或多个链接内的或与其相关联的元数据中推断出的相关性、 置信度、或任何其他度量来组织这些结果。
操作流程随后前进至第一分析模块645。第一分析模块645被配置成确定相应的外部索引查询结果包括空响应还是包括被标识成具有与搜索串中的一个或多个关键项相关联的内容的一个或多个链接。
当第一分析模块645确定所有相应的外部查询都包括空响应时,操作流分支到返回模块620。如上文讨论的,返回模块620被配置成返回第一本地查询的例如被第一搜索模块610获取的结果。操作流随后前进至被配置成将第一本地查询的结果与同外部索引查询相关联的结果进行合并的合并模块625。在示例场景中,与外部索引查询相关联的结果对应于空值。操作流随后前进至呈现模块630,呈现模块630被配置成经由消息收发客户机向用户呈现合并后的结果(即,第一本地查询结果)。
当第一分析模块645确定相应的外部索引查询结果包括被标识成具有与搜索串中的一个或多个关键项相关联的内容的一个或多个链接时,操作流分支到第二搜索模块 650。第二搜索模块650被配置成包括针对由相应的外部索引服务所返回的一个或多个链接来执行对本地索引的第二本地查询。第二本地查询的示例结果包括含所述一个或多个链接的电子邮件消息。一般而言,包含在第二查询的电子邮件消息内的链接可以在句法上部分正确或全部正确。另外,可根据直接观察到的或从包含在第二本地查询的电子邮件消息结果内的或与其相关联的元数据中推断出的相关性、置信度、或任何其他度量来组织这些结果。
操作流随后前进至第二分析模块655。第二分析模块655被配置成分析第二本地查询的结果以便确定该本地索引是否包括由相应的外部索引服务所返回的一个或多个链接。
当第二分析模块655确定该本地索引不包括包含由相应的外部索引服务所返回的一个或多个链接的电子邮件消息时,操作流程分支到返回模块620。操作流程随后前进至被配置成将第一本地查询的结果与第二本地查询的结果进行合并的合并模块625。在示例场景中,第二本地索引查询的结果对应于空值。操作流随后前进至呈现模块630,呈现模块630被配置成经由消息收发客户机向用户呈现合并后的查询结果(即,第一本地查询结果)。
当第二分析模块655确定该本地索引的确包括包含由相应的外部索引服务所返回的一个或多个链接的电子邮件消息时,操作流程分支到合并模块625。在示例场景中,合并模块625被配置成将第一查询的结果与第二本地查询的结果进行合并。操作流随后前进至呈现模块630,呈现模块630被配置成经由消息收发客户机向用户呈现合并后的查询结果(即,第一本地查询结果+第二本地查询结果)。
本文中描述的示例实施例可被实现为联网计算系统环境中的计算设备里的逻辑操作。该逻辑操作可被实现为(i)在计算设备上执行的计算机执行的指令、步骤或程序模块的序列;以及(ii)在计算设备内运行的内连逻辑或硬件模块。
例如,逻辑操作可用软件、固件、模拟/数字电路、和/或其任何组合来实现为算法,而不背离本公开的范围。软件、固件、或类似的计算机指令序列可被编码并存储在计算机可读介质上,并且还可被编码在载波信号内,以便在计算设备之间进行传输。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
权利要求
1.一种用于对包含在电子通信内的链接的内容进行索引的方法,所述方法包括 在计算设备(410)上对至少一个电子通信进行索引;在所述计算设备(410)处分析所述至少一个通信的内容以便标识出包含在所述至少一个通信中的链接的内容;在所述计算设备(410)处形成包括对所述链接的内容进行索引的请求的消息;以及将所述消息从所述计算设备(410)发送给外部服务(41 来对所述链接的内容进行索引。
2.如权利要求1的方法,其特征在于,还包括在以下各项之一之后对所述电子通信进行索引对在所述计算设备(410)处接收到所述至少一个电子通信的指示;以及对被配置成维护所述计算设备(410)处的索引(460)的周期性索引过程的实例化的指示。
3.如权利要求1所述的方法,其特征在于,还包括标识包括统一资源指示符的至少一部分的链接的内容。
4.如权利要求1所述的方法,其特征在于,还包括形成包括以下各项的消息索引过程标识符、所标识的链接的内容、以及包含与所标识的链接的内容相关联的多个附加信息的元数据。
5.如权利要求1所述的方法,其特征在于,还包括填充由索引过程所维护的列表,以指示所标识的链接的内容到所述外部服务G15)的传送。
6.如权利要求1所述的方法,其特征在于,还包括从所述外部服务(415)接收响应,所述响应包括完成对所标识的链接的内容进行索引的指示。
7.如权利要求1所述的方法,其特征在于,还包括从所述外部服务(415)接收响应,所述响应包括与所标识的链接的内容相关联的概述数据。
8.如权利要求1所述的方法,其特征在于,所述电子通信是从包括以下各项的组中选择的电子邮件消息;文本消息;即时消息;日历项;任务项;笔记项;社交协作消息;和语音邮件消息。
9.一种用于在通信系统G10)中搜索包含在电子通信内的链接的内容的方法,所述方法包括在所述通信系统(410)处从消息收发应用(425)接收包括用于搜索电子通信的至少一个关键项的搜索串;在所述通信系统(410)处根据所述搜索串查询本地索引G60),以便获取第一本地查询结果;在所述通信系统(410)处标识出具有从所述通信系统(410)接收到的链接的内容的至少一个外部服务G15);将消息从所述通信系统(410)发送给所述至少一个外部服务G15),所述消息包括执行对外部索引(440)的外部搜索的请求;从所述至少一个外部索引服务(415)接收包括外部查询结果的响应; 在所述通信系统(410)处使用所述外部查询结果来查询所述本地索引G60),以便获取第二本地查询结果;以及向所述消息收发应用(42 返回包括所述第一本地查询结果和所述第二本地查询结果中的至少一部分的合并后的搜索结果。
10. 一种计算设备(410),包括: 处理单元O05);以及连接至所述处理单元O05)的系统存储器010),所述系统存储器(210)包括指令,所述指令在由所述处理单元(20 执行时使得所述处理单元(20 实现索引模块(450)和搜索模块(46 来评估包含在电子通信内的链接的内容,其中所述索引模块(450)被配置成接收用于对至少一个电子通信进行索引的指令;分析所述至少一个通信的内容以便标识出所述至少一个通信中所包含的链接的内容;形成包括对所标识的链接的内容进行索引的请求的第一消息,其中所述第一消息包括索引过程标识符和所标识的链接的内容;以及将所述第一消息发送给外部服务(41 来对所标识的链接的内容进行索引;以及所述搜索模块(46 被配置成接收包括用于搜索多个电子通信的至少一个关键项的搜索串; 根据所述搜索串查询本地索引(460),以便获取第一本地查询结果; 标识具有从所述搜索模块(46 接收到的链接的内容的所述外部服务G15); 将第二消息发送给所述外部服务G15),所述第二消息包括执行对外部索引G40)的外部搜索的请求;从所述外部服务(41 接收包括外部查询结果的响应;根据所述外部查询结果来查询所述本地索引G60),以便获取第二本地查询结果;以及返回包括所述第一本地查询结果和所述第二本地查询结果的交集的合并后的搜索结果。
全文摘要
本发明涉及使用外部搜索系统来搜索链接的内容。当链接位于给定通信内时,消息被递送给外部索引服务。该消息包括对包含在该链接内的内容进行索引以便确保该链接被索引的请求。当在通信系统内执行关键词搜索查询时,本地索引以及与外部索引服务相关联的外部索引都被查询。来自查询的结果被合并且被显露。
文档编号G06F17/30GK102542010SQ20111041802
公开日2012年7月4日 申请日期2011年12月7日 优先权日2010年12月8日
发明者A·韦特莫尔, J·佩雷拉, J·埃德兰恩, T·松德林 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1