CN102542010B - 使用外部搜索系统来搜索链接的内容 - Google Patents

使用外部搜索系统来搜索链接的内容 Download PDF

Info

Publication number
CN102542010B
CN102542010B CN201110418025.XA CN201110418025A CN102542010B CN 102542010 B CN102542010 B CN 102542010B CN 201110418025 A CN201110418025 A CN 201110418025A CN 102542010 B CN102542010 B CN 102542010B
Authority
CN
China
Prior art keywords
index
content
link
local
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110418025.XA
Other languages
English (en)
Other versions
CN102542010A (zh
Inventor
T·松德林
A·韦特莫尔
J·埃德兰恩
J·佩雷拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102542010A publication Critical patent/CN102542010A/zh
Application granted granted Critical
Publication of CN102542010B publication Critical patent/CN102542010B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures

Abstract

本发明涉及使用外部搜索系统来搜索链接的内容。当链接位于给定通信内时,消息被递送给外部索引服务。该消息包括对包含在该链接内的内容进行索引以便确保该链接被索引的请求。当在通信系统内执行关键词搜索查询时,本地索引以及与外部索引服务相关联的外部索引都被查询。来自查询的结果被合并且被显露。

Description

使用外部搜索系统来搜索链接的内容
技术领域
本发明涉及网络技术,尤其涉及搜索技术。
背景技术
当在一组电子通信内搜索内容时常常采用关键词搜索。这在感兴趣的内容被包含在嵌入给定通信内的链接内时可导致问题。例如,如果在对电子邮件消息中的的内容进行初始查看之后经过足够的时间段,用户可能难以记住并阐述包含该链接内所包含的项的搜索查询。在这样的场景中,可能需要大量时间来重新定位感兴趣的内容。
发明内容
在一方面,一种用于对包含在电子通信内的所链接的内容进行索引的方法,包括:在计算设备上对至少一个电子通信进行索引;在所述计算设备处分析的所述至少一个通信的内容,以便标识其中包含的链接的内容;在所述计算设备处形成包括对所述链接的内容进行索引的请求的消息;以及将所述消息从所述计算设备发送给外部服务来对所述链接的内容进行索引。
在另一方面,一种用于在通信系统中搜索包含在电子通信内的链接的内容的方法,包括:在所述通信系统处从消息收发应用接收包括用于搜索电子通信的至少一个关键项的搜索串;在所述通信系统处根据所述搜索串查询本地索引,以便获取第一本地查询结果;在所述通信系统处标识具有从所述通信系统接收到的链接的内容的至少一个外部服务;将消息从所述通信系统发送给所述外部服务,所述消息包括执行对外部索引的外部搜索的请求;从所述外部索引服务接收包括外部查询结果的响应;在所述通信系统处使用所述外部查询结果来查询所述本地索引,以便获取第二本地查询结果;以及向所述消息收发应用返回包括所述第一本地查询结果和第二本地查询结果中的至少一部分的经合并的搜索结果。
在又一方面,一种计算设备包括:处理单元;以及连接至所述处理单元的系统存储器,所述系统存储器包括在由所述处理单元执行时使得所述处理单元实现用于评估包含在电子通信内的链接的内容的索引模块和搜索模块的指令,其中所述索引模块被配置成:接收用于对至少一个电子通信进行索引的指令;分析所述至少一个通信的内容,以便标识其中包含的链接的内容;形成包括对所标识的链接的内容进行索引的请求的第一消息,其中所述第一消息包括索引处理标识符和所标识的链接的内容;以及将所述第一消息发送给第一外部服务来对所标识链接的内容进行索引;并且所述搜索模块被配置成:接收包括用于搜索多个电子通信的至少一个关键项的搜索串;根据所述搜索串查询本地索引,以便获取第一本地查询结果;标识具有从所述搜索模块接收到的链接的内容的至少一个外部服务;将第二消息发送给所述至少一个外部服务,所述第二消息包括执行对外部索引的外部搜索的请求;从所述至少一个外部索引服务接收包括外部查询结果的响应;根据所述外部查询结果来查询所述本地索引,以便获取第二本地查询结果;以及返回包括所述第一本地查询结果和所述第二本地查询结果的交集的经合并的搜索结果。
提供本发明内容是为了以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也决不旨在用于限制所要求保护的主题的范围。
附图说明
本公开的各方面在结合附图考虑以下各实施例的详细描述的情况下可被更全面地理解。
图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服务器、SHAREPOINT协作服务器以及其它。
系统存储器210还可以包括一个或多个软件应用220并且可以包括程序数据。软件应用220可包括许多不同类型的单个和多个功能的程序,诸如电子邮件程序、日历程序、因特网浏览程序、电子表格程序、用于跟踪和报告信息的程序、文字处理程序、即时消息收发程序、web会议服务程序以及许多其他程序。一个示例程序是来自微软公司的Office套件。
系统存储器210可包括计算机可读介质。计算机可读介质的示例包括计算机可读存储介质和通信介质。计算机可读存储介质区别于通信介质。
计算机可读存储介质可以包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的物理易失性和非易失性,可移动和不可移动介质。计算机可读存储介质还包括,但不仅限于,RAM、ROM、EEPROM、闪存或其他存储器技术,CD-ROM、DVD或其他光学存储,磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需要的信息并可以被服务器设备110访问的任何其他介质。任何这样的计算机存储介质都可以是服务器设备110的一部分或外置于该服务器设备100。这样存储在图2中由可移动存储225和不可移动存储230示出。
通信介质通常由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据来体现,并包括任何信息传递介质。术语“已调制数据信号”是指具有以在信号中编码信息的方式被设定或改变其一个或多个特征的信号。作为示例,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其他无线介质。
服务器设备110还具有任何数目或类型的输入设备235和输出设备240。示例输入设备235包括键盘、鼠标、笔、语音输入设备、触摸输入设备等。示例输出设备240包括显示器、扬声器、打印机等。服务器设备110还可包括配置成在分布式计算系统环境中允许通过网络(例如,网络120)与其他计算设备通信的通信连接245。
图1的客户机设备105与如上所述的服务器设备110相似地配置。
现在附加地参考图3,客户机设备105还被配置为包括到服务器设备110的一个或多个不同类型的客户机接口。在所示示例中,客户机设备105包括本地客户机305、web接入客户机310、移动接入客户机315以及语音接入客户机320。到服务器设备110的其他类型的客户机接口也是可能的。
本地客户机305被配置为专用消息收发和协作客户机,其用作到服务器设备110的接口,并且是在客户机设备105上执行的应用套件的一部分。在一个实施例中,本地客户机305包括OUTLOOKk消息收发和协作客户机,它是作为微软公司的Office套件的一部分的电子邮件应用。用户可通过OUTLOOK消息收发和协作客户机编写电子邮件、与电子邮件交互、发送和接收电子邮件。本地客户机305的其他实施例是可能的。例如,在一个实施例中,本地客户机305包括来自微软公司的Office通信器客户机、与Office通信服务器一起使用的即时消息收发客户机。本地客户机305的其他实施例也是可能的。
web接入客户机310被配置成使用诸如因特网之类的网络连接远程地访问服务器设备110。在一个实施例中,web接入客户机310是Exchange服务器的Outlook Web Access(OWA)web邮件服务。在示例实施例中,客户机设备105使用web浏览器来经由Outlook Web Access来连接到Exchange服务器。这提供类似OUTLOOK消息收发和协作客户机中的接口的用户接口,其中用户可编写电子邮件、与电子邮件交互、发送和接收电子邮件。web接入客户机310的其他实施例是可能的。例如,web接入客户机310可被配置成连接到SHAREPOINT协作服务器以访问相对应的协作、文件共享和web发布服务。web接入客户机310的其他实施例也是可能的。
移动接入客户机315是另一种类型的到服务器设备110的客户机接口。在一个实施例中,移动接入客户机315包括带有ACTIVESYNC同步技术的移动接入,或者WINDOWS VISTA操作系统或Windows 7操作系统的Windows移动设备中心,其全部来自微软公司。示例移动设备包括蜂窝电话、智能电话、个人数字助理等等。移动接入客户机315的其他实施例是可能的。
语音接入客户机320是又一种类型的到服务器设备110的客户机接口。在一些实施例中,语音接入客户机320包括Exchange服务器中支持的Exchange统一消息收发。通过统一消息收发,用户具有用于电子邮件和语音邮件的一个收件箱。语音邮件被直接递送到OUTLOOK消息收发和协作客户机收件箱。包含语音邮件的消息还可以包括附件。语音接入客户机320的其他实施例是可能的。
现在参考图4,示例框图400示出了在用于对包含在电子通信内的链接的内容进行索引和搜索的各计算设备之间的通信。示例通信包括电子邮件消息、文本消息、即时消息、日历项、任务项、笔记项、社交协作消息(例如Facebook状态更新、Twitter更新等)以及语音邮件消息(例如被录制成文本)。电子通信的还有一些类型是可能的。
框图400包括第一服务器设备405和第二服务器设备410,各自与如上所述的服务器设备110类似地配置。第一服务器设备405进一步包括外部索引服务415和第一接口420。第二服务器设备410进一步包括应用425和第二接口430。其他配置是可能的。例如,框图400通常可按需包括更多或更少的计算设备和其他组件。
第一服务器设备405的外部索引服务415包括在第一服务器设备405上执行的用于实现诸如web索引服务(例如,Bing,、Google等)、文档索引服务(例如,SharePoint等)之类的索引服务的功能的软件的逻辑模块。例如,外部索引服务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 Phone 7,元数据])。其他实施例是可能的。
消息“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)在计算设备内运行的内连逻辑或硬件模块。
例如,逻辑操作可用软件、固件、模拟/数字电路、和/或其任何组合来实现为算法,而不背离本公开的范围。软件、固件、或类似的计算机指令序列可被编码并存储在计算机可读介质上,并且还可被编码在载波信号内,以便在计算设备之间进行传输。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (9)

1.一种用于在通信系统中对包含在电子通信内的链接的内容进行索引的方法,所述方法包括:
在计算设备(410)上对至少一个电子通信进行索引;
在所述计算设备(410)处分析所述至少一个电子通信的内容以便标识出包含在所述至少一个电子通信中的链接的内容;
分析本地索引以便确定与所标识出的链接的内容相关联的概述数据是否被包含在所述本地索引中;
如果所述本地索引中包含与所标识出的链接的内容相关联的概述数据,则:
基于所述概述数据,对所述至少一个电子通信进行索引;以及
如果所述本地索引中没有包含与所标识出的链接的内容相关联的概述数据,则:
在所述计算设备(410)处形成包括对所标识出的所述链接的内容进行索引的请求的消息;
将所述消息从所述计算设备(410)发送给外部索引服务(415)来在外部索引上对所标识出的所述链接的内容进行索引;以及
从所述外部服务接收响应,所述响应包括所标识出的所述链接的内容的概述数据。
2.如权利要求1所述的方法,其特征在于,还包括在以下各项之一之后对所述电子通信进行索引:对在所述计算设备(410)处接收到所述至少一个电子通信的指示;以及对被配置成维护所述计算设备(410)处的索引(460)的周期性索引过程的实例化的指示。
3.如权利要求1所述的方法,其特征在于,还包括标识包括统一资源指示符的至少一部分的链接的内容。
4.如权利要求1所述的方法,其特征在于,还包括形成包括以下各项的消息:索引过程标识符、所标识的链接的内容、以及包含与所标识的链接的内容相关联的多个附加信息的元数据。
5.如权利要求1所述的方法,其特征在于,还包括填充由索引过程所维护的列表,以指示所标识的链接的内容到所述外部服务(415)的传送。
6.如权利要求1所述的方法,其特征在于,还包括从所述外部服务(415)接收响应,所述响应包括完成对所标识的链接的内容进行索引的指示。
7.如权利要求1所述的方法,其特征在于,所述电子通信是从包括以下各项的组中选择的:电子邮件消息;文本消息;即时消息;日历项;任务项;笔记项;社交协作消息;和语音邮件消息。
8.一种用于在通信系统(410)中对包含在电子通信内的链接的内容进行搜索的方法,所述方法包括:
在所述通信系统(410)处从消息收发应用(425)接收包括用于搜索电子通信的至少一个关键项的搜索串;
如果本地索引中包含与链接的内容相关联的所述至少一个关键项,在所述通信系统(410)处根据所述搜索串查询本地索引(460),以便获取第一本地查询结果;
如果所述本地索引中没有包含与链接的内容相关联的所述至少一个关键项,在所述通信系统(410)处标识出具有从所述通信系统(410)接收到的链接的内容的至少一个外部服务(415);
将消息从所述通信系统(410)发送给所述至少一个外部服务(415),所述消息包括执行对外部索引(440)的外部搜索的请求;
从所述至少一个外部服务(415)接收包括外部查询结果的响应;
在所述通信系统(410)处使用所述外部查询结果来查询所述本地索引(460),以便获取第二本地查询结果;以及
向所述消息收发应用(425)返回包括所述第一本地查询结果和所述第二本地查询结果中的至少一部分的合并后的搜索结果。
9.一种用于在通信系统中对包含在电子通信内的链接的内容进行索引和搜索的装置(410),包括:
用来评估包含在电子通信内的链接的内容的索引模块(450)和搜索模块(465),其中:
所述索引模块(450)被配置成:
在计算设备上对至少一个电子通信进行索引;
在所述计算设备处分析所述至少一个电子通信的内容以便标识出包含在所述至少一个电子通信中的链接的内容;
分析本地索引以便确定与所标识出的链接的内容相关联的概述数据是否被包含在所述本地索引中;
如果所述本地索引中包含与所标识出的链接的内容相关联的概述数据,则:
基于所述概述数据,对所述至少一个电子通信进行索引;以及
如果所述本地索引中没有包含与所标识出的链接的内容相关联的概述数据,则:
在所述计算设备处形成包括对所标识出的所述链接的内容进行索引的请求的消息;
将所述消息从所述计算设备发送给外部索引服务来在外部索引上对所标识出的所述链接的内容进行索引;以及
从所述外部服务接收响应,所述响应包括所标识出的所述链接的内容的概述数据;以及
所述搜索模块(465)被配置成:
在所述通信系统处从消息收发应用接收包括用于搜索电子通信的至少一个关键项的搜索串;
如果所述本地索引中包含与链接的内容相关联的所述至少一个关键项,在所述通信系统处根据所述搜索串查询本地索引(460),以便获取第一本地查询结果;
如果所述本地索引中没有包含与链接的内容相关联的所述至少一个关键项,在所述通信系统处标识出具有接收到的链接的内容的至少一个外部服务(415);
将消息从所述通信系统发送给所述至少一个外部服务(415),所述消息包括执行对外部索引(440)的外部搜索的请求;
从所述至少一个外部服务(415)接收包括外部查询结果的响应;
在所述通信系统处使用所述外部查询结果来查询所述本地索引(460),以便获取第二本地查询结果;以及
向所述消息收发应用(425)返回包括所述第一本地查询结果和所述第二本地查询结果中的至少一部分的合并后的搜索结果。
CN201110418025.XA 2010-12-08 2011-12-07 使用外部搜索系统来搜索链接的内容 Active CN102542010B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/962,986 US9123021B2 (en) 2010-12-08 2010-12-08 Searching linked content using an external search system
US12/962,986 2010-12-08

Publications (2)

Publication Number Publication Date
CN102542010A CN102542010A (zh) 2012-07-04
CN102542010B true CN102542010B (zh) 2015-07-08

Family

ID=46200405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110418025.XA Active CN102542010B (zh) 2010-12-08 2011-12-07 使用外部搜索系统来搜索链接的内容

Country Status (2)

Country Link
US (1) US9123021B2 (zh)
CN (1) CN102542010B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140324817A1 (en) * 2013-04-29 2014-10-30 Broadcom Corporation Preprocessing of client content in search infrastructure
US9189508B2 (en) * 2013-07-19 2015-11-17 Tipbit Inc. Inferring relevance based on user interactions with email
US10055433B2 (en) 2014-09-18 2018-08-21 Microsoft Technology Licensing, Llc Referenced content indexing
CN104750805B (zh) * 2015-03-24 2019-03-29 联想(北京)有限公司 一种信息处理方法及电子设备
EP3513303A4 (en) * 2016-10-31 2020-03-18 Microsoft Technology Licensing, LLC QUICK LOAD CONTENT CACTING
US20220377032A1 (en) * 2021-05-17 2022-11-24 Apple Inc. Content syndication

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6631367B2 (en) 2000-12-28 2003-10-07 Intel Corporation Method and apparatus to search for information
US20020198962A1 (en) 2001-06-21 2002-12-26 Horn Frederic A. Method, system, and computer program product for distributing a stored URL and web document set
US20030074409A1 (en) * 2001-10-16 2003-04-17 Xerox Corporation Method and apparatus for generating a user interest profile
EP1605649B1 (de) * 2004-06-02 2006-08-09 Ixos Software AG Verfahren und Vorrichtung zum Verwalten von elektronischen Nachrichten
US8156123B2 (en) * 2004-06-25 2012-04-10 Apple Inc. Method and apparatus for processing metadata
US8626514B2 (en) * 2004-08-31 2014-01-07 Emc Corporation Interface for management of multiple auditory communications
EP1812848A4 (en) * 2004-09-15 2009-04-29 Adesso Systems Inc SYSTEM AND METHOD FOR DATA MANAGEMENT IN A DISTRIBUTED COMPUTER SYSTEM
US20060123478A1 (en) * 2004-12-02 2006-06-08 Microsoft Corporation Phishing detection, prevention, and notification
GB0506532D0 (en) * 2005-03-31 2005-05-04 Ibm System and method for notification of acquired information
EP1999706A4 (en) * 2006-02-17 2012-04-18 Google Inc SEARCH RESULTS DISTRIBUTED TO USER
WO2007115254A2 (en) 2006-03-31 2007-10-11 Visto Corporation System and method for searching disparate datastores via a remote device
US20070266095A1 (en) * 2006-05-12 2007-11-15 Fuji Xerox Co., Ltd. Seamless electronic mail capture with user awareness and consent
US20090171907A1 (en) 2007-12-26 2009-07-02 Radovanovic Nash R Method and system for searching text-containing documents
US8676792B1 (en) * 2008-09-26 2014-03-18 Intuit Inc. Method and system for an invitation triggered automated search

Also Published As

Publication number Publication date
US9123021B2 (en) 2015-09-01
CN102542010A (zh) 2012-07-04
US20120150839A1 (en) 2012-06-14

Similar Documents

Publication Publication Date Title
CN107679211B (zh) 用于推送信息的方法和装置
US9858550B2 (en) Techniques to manage remote events
US9785957B2 (en) Collecting and presenting information
EP2948889B1 (en) Architecture for sharing browsing session histories
CN102542010B (zh) 使用外部搜索系统来搜索链接的内容
US8943086B2 (en) Model-based backend service adaptation of business objects
US20150281138A1 (en) Keyword based automatic reply generation in a messaging application
CN105900391A (zh) 使用restlike api进行实时通信
US20100306146A1 (en) Non-subscription based service for providing contextually-preferred new content to information system users
KR20130126930A (ko) 텍스트 메시지를 사용하는 스프레드시트와의 상호작용
US8589433B2 (en) Dynamic tagging
US20140108621A1 (en) System and method for internet services aggregation
CN102271161A (zh) 用户中心、具有用户中心的远程信息处理系统及方法
WO2018204341A1 (en) Managing multi-tenant keys in multi-tenant computing environments
US20140222865A1 (en) Method, System and Program for Interactive Information Services
US10078740B2 (en) Method to fetch functionality across applications
US20100274793A1 (en) Method and apparatus of configuring for services based on document flows
CN103379022B (zh) 一种基于互联网地图搜索的即时通讯方法和系统
CN102110144B (zh) 文档访问方法和文档访问装置
US20140379820A1 (en) Email address and telephone number unification systems and methods
CN105306337A (zh) 基于即时通讯的多人会话文件共享方法、装置和系统
US20150205870A1 (en) Method, system and program product for interactive information services
US9367542B2 (en) Facilitating access to resource(s) idenfitied by reference(s) included in electronic communications
US20150012296A1 (en) Method and system for transferring mammograms
CN114827066B (zh) 信息处理方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150722

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150722

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.