专利名称:提供搜索结果给计算设备的制作方法
提供搜索结果给计算设备背景执行对可搜索数据库的基本关键词搜索可造成过度的搜索结果,用户然后可以手动地过滤这些过度的搜索结果以便发现与他/她最相关的搜索结果。手动地过滤搜索结果可导致发现不适合用户上下文、情况或位置的搜索结果。此外,手动地过滤搜索结果可以是麻烦并且消耗时间的,从而导致用户的挫折。概述本文提供了向移动计算设备提供位置感知的搜索结果。一个示例性方法包括从移动计算设备处接收搜索请求,其中搜索请求包括标识移动计算设备的位置的位置数据。如果搜索请求包括明确的搜索查询,则方法包括将从明确的搜索查询得到的候选搜索信息与由搜索请求的位置数据标识的位置相关联。方法还包括如果搜索请求包括明确的搜索查询,则将基于查询的搜索结果发送到移动计算设备。如果搜索请求包括隐式的搜索查询,则方法包括将基于位置的搜索结果发送到移动计算设备。基于位置的搜索结果是从与由位置数据标识的位置相关联的候选搜索信息中得到的。提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键或必要特征,也不旨在用于限定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中提及的任何或所有缺点的实现。附图简述
图1是与明确的搜索查询有关的示例性时间序列的事件的示图。图2是与隐式的搜索查询有关的示例性时间序列的事件的示图。图3是示出用于提供搜索结果给移动计算设备的示例性方法的流程图。图4是包括用于将基于查询的搜索结果传送给移动计算设备的服务器的系统的示图。图5是包括用于将基于位置的搜索结果传送给移动计算设备的服务器的系统的示图。详细描述当前的基于位置的数字搜索技术包括感兴趣点查找搜索和商业查找搜索。尽管这些搜索在某些场景中是能够满足要求的,但是这些搜索方法可能不能在所有场景中提供所需的结果。本文提供了通过使用以前的搜索者(例如,社区)执行的搜索的位置数据来获得社区数据的力量,从而来提高新的搜索结果的质量和相关度的方法。如以下更加详细描述的,所公开的搜索方法能够提供至少是部分地基于其他人认为对于特定位置而言是重要的东西的搜索结果。图1示出与明确的搜索查询有关的示例性时间序列的事件的示图。示出了手持第一移动计算设备100站在日本餐馆前的用户的侧视图。在图1的右侧示出了时刻tl、t2和 t3时第一移动计算设备100的显示屏104的图形用户界面102。在tl,向用户呈现提示输入搜索关键词到文本输入框106以为了搜索结果而搜索数据库的图形用户界面102在t2,用户输入关键词“寿司”到文本输入框106并且开启搜索按钮108。开启搜索按钮108可通过触摸输入、鼠标点击或任何其他合适的输入进行。开启搜索按钮108可造成包括明确的搜索查询(例如,包括诸如“寿司”等用户选择的搜索项等)在内的搜索请求通过网络(例如,因特网)被发送到服务器。作为结果,在t3,在显示屏104的图形用户界面102上呈现多个指向与寿司有关的基于查询的搜索结果的链接110.用户可以选择这些与寿司有关的搜索结果中的任一个 (例如,通过选择超链接)以得到更多信息。尽管指向基于查询的搜索结果的链接(例如, “寿司结果#1”、“寿司结果#2”、“寿司结果測,,)被图示为超链接,但是可以明白在图形用户界面上显示的基于查询的搜索结果可以是可选择和不可选择的文本和/或图形的任意组合。这些基于查询的搜索结果可实质上使用任意搜索引擎技术在服务器端上被选择,而不背离本公开的精神。当搜索请求通过网络被发送至服务器时,搜索请求还可包括第一移动计算设备 100和/或移动计算设备用户的位置以及发送搜索请求时的时间(例如,一天中的时间、一年中的时间等)。因此,搜索关键词、搜索结果和/或中间搜索代码可与第一移动计算设备 100的位置和/或发送搜索请求时的时间相关联。采用这一方式,生成基于查询的搜索结果的服务器能够学习位于该特定位置或邻近位置的移动计算设备用户需要什么类型的信息, 并且可能一般在该时刻或者该时刻附近需要。随后,服务器可使用学习的信息以提供基于位置和/或基于时间的搜索结果给第一移动计算设备和/或其他移动计算设备。换句话说, 某些用户的明确的、基于查询的搜索可用来训练服务器以为其他用户提供位置感知的搜索结果。现在参考图2,示出了手持第二移动计算设备200站在与图1所示的相同的日本餐馆前的第二用户的示图。在tl,例如由于第二移动计算设备正在待机,第二移动计算设备 200的第二显示屏204可显示为空白或暗的。在t2,用户可“唤醒”(例如,摇动、开启唤醒按钮等)第二移动计算设备200,并且第二移动计算设备200可自动地发送具有隐式的搜索查询的第二搜索请求给如图1所述的服务器。隐式的搜索请求不需要包括用户选择的搜索项,但是相反,隐式的搜索结果可包括第二移动客户端用户的位置以及暗示搜索项的第二搜索请求的时间。也就是说,服务器可基于服务器处接收到的位置和/或时间信息来生成搜索结果。服务器接着可发送搜索结果给移动计算设备200,即便用户并没有提供任何用户选择的要搜索的搜索项。作为结果, 在t2,第二移动计算设备200可显示具有可访问基于位置的搜索结果的推荐链接206(例如,“寿司结果#1”、“日本结果#2”、“日本武士结果#^)的图形用户界面202.包括寿司结果#1、日本结果#2和日本武士结果#N在内的推荐链接206可以是基于位置的搜索结果。也就是说,它们可以基于例如从图1的第一搜索请求得到的候选搜索信息,第一搜索请求从与第二搜索请求的位置相同或相似的位置发出。此外,由于来自在该位置处的移动计算设备的许多以前的搜索请求都产生了寿司结果#1,因此寿司结果#1被提供为推荐链接206之一。因此,尽管第二移动计算设备用户提供了最少的信息或者没有明确的信息,但是提供给第二移动计算设备用户她/他有可能感兴趣的或有可能搜索的信肩、ο现在转至图3,流程图示出用于提供搜索结果给移动计算设备的示例性方法300。方法300包括在服务器处从移动计算设备接收搜索请求。搜索请求包括标识移动计算设备的位置的位置数据。位置数据可包括精确的地理位置,诸如移动计算设备的经度和纬度。在其他示例中,由位置数据标识的位置可以是地理区域,诸如预定的空间区域或者由街道界限定义的地区。在304处,方法300包括确定搜索请求是否包括明确的搜索查询。如果在304处的答案为是,则在306处,方法300包括从明确的搜索查询得到候选搜索信息。在某些示例中,候选搜索信息可包括明确的搜索查询中所包括的关键词、和/或某些示例的上下文信息(例如,与位置数据标识的位置接近的旅游名胜等)。还可在候选搜索信息中考虑或包括响应于搜索请求生成的基于查询的搜索结果。在308处,方法300还包括将候选搜索信息与由位置数据标识的位置相关联。方法300还包括如果在搜索请求中还接收了指示搜索请求的时间的时间数据,则将候选搜索信息与由时间数据标识的时间相关联。在310处,方法300包括发送基于查询的搜索结果给移动计算设备用于显示。基于查询的搜索结果可由服务器使用合适的搜索引擎技术来选择。在这一场景中,由于用户提供明确的搜索项并且请求搜索那些项,因此将根据服务器使用的搜索技术/算法从搜索项中得到搜索结果。在某些实施例中,位置信息可用来消除结果的歧义或者修改结果,但是考虑了明确的搜索项。通过在服务器处接收搜索请求中的位置数据,消除歧义的搜索结果可被返回至移动计算设备。例如,在动物园里寻找信息的移动计算设备用户可输入“猫”到移动计算设备的图形用户界面的文本输入框,并且开启搜索开启按钮。因此,包括明确的搜索查询和将动物园标识为移动客户端位置的位置数据在内的搜索请求被发送给服务器。在服务器处,搜索结果可被过滤以主要地包括与野猫相关的搜索结果。这可基于指示移动计算设备用户在动物园时对野猫最感兴趣的可能性的启发式算法或统计来进行。但是,如果这一明确的搜索查询(例如,“猫“)是在移动计算设备用户在住处时接收到的,则将在服务器处过滤搜索结果以主要包括和家猫相关的搜索结果。这可作为移动计算设备用户在住处时对家猫最感兴趣的可能性的结果来进行。也就是说,基于位置数据,发送搜索请求的移动计算设备和/或生成搜索结果的服务器能够基于位置预测搜索结果或使搜索结果上下文化。可以明白,可基于所述移动计算设备处或者标识由位置数据表示的位置的服务器处的位置数据来过滤搜索结果。—旦移动计算设备接收到基于查询的搜索结果,则移动计算设备的用户可例如通过开启指向基于查询的搜索结果的链接来与移动计算设备的显示屏的图形用户界面交互。 这些用户行为或输入可由移动计算设备报告给服务器。相应地,方法300可包括在步骤 312,在服务器处从移动计算设备接收基于查询的搜索结果的使用数据(例如,基于用户确定查看哪些基于查询的搜索结果,用户查看了与基于查询的搜索结果相关联的信息多久, 用户是否做书签或者喜欢特定的结果等)。在其他示例中,用户可被邀请通过移动计算设备的显示屏上的图形用户界面来对基于查询的搜索结果进行排序。例如,用户可被邀请将基于查询的搜索结果排序为“有用的“或”没有用的“,或者通过使用数字排序(例如,4/5星、 9/10分等)或名称排序等级(例如,很好、很差等)对基于查询的搜索结果进行排序。这一用户排序输入还可被包括在服务器在步骤312接收的使用数据中。
在314处,方法300从而可包括基于使用数据(例如,从中得到候选搜索信息的给定搜索结果的使用频率)来在服务器处对候选搜索信息进行排序。采用这一方式,基于以前的用户在发送来自该移动计算设备位置的搜索请求时与哪些基于查询的搜索结果交互和/或发现哪些基于查询的搜索结果是有用的,可选择未来的基于查询的搜索结果以发送至移动计算设备。例如,候选搜索信息可包括网页,并且如果预定数量或百分比的移动计算设备用户响应于接收到指向所述网页的链接时选择查看所述网页,在排序的网页的列表内该网页的排序将上升。可以明白也可基于明确的搜索查询频率在服务器处对候选搜索信息进行排序。例如,如果从位于日本餐馆附件的移动计算设备接收的预定数量的明确搜索查询在关键词搜索中包括关键词“寿司”,则关键词“寿司”可以是与该移动计算设备位置相关联的候选搜索信息的高排序形式。相应地,由日本餐馆前的移动计算设备发送的基于位置的搜索结果可包括至少一个与寿司有关的搜索结果。如将在以下所讨论的,在314处,候选搜索结果的排序还可用来得到基于位置的搜索结果,并且从而协助服务器的选择或者生成相关的基于位置的搜索结果。如果在304处的答案是否,则搜索请求可包括隐式的搜索查询(例如,不包括用户选择或用户输入的搜索项)。也就是说,用户可以已经唤醒移动计算设备和/或按下搜索按钮促动器,而没有在图形用户界面的文本输入框中输入关键词。作为结果,在316处,方法 300可包括从服务器处发送基于位置的搜索结果给移动计算设备。尽管唤醒移动设备和按下搜索按钮促动器被提供为两个示例,但是应当理解实际上可响应于任意选定的事件来发送基于位置的搜索请求,而不背离本公开的精神。如以上所述,基于位置的搜索结果可从以前与位置数据标识的位置相关联的候选搜索信息中得到(例如,作为以前从给定位置处执行的搜索的结果)。此外,基于位置的搜索结果可从与在搜索请求中接收到的时间数据标识的时间相关联的候选搜索信息中得到。 作为一些示例,基于位置的搜索结果可从与在具有隐式搜索查询的搜索请求中发送的位置数据标识的位置相关联的高排序的候选搜索信息的列表或数据库中选择。随后,在318处,方法300可包括在服务器处接收基于位置的搜索结果的使用数据。这里,使用数据可与参考步骤312所描述的使用数据类似,但是相比于后者是由基于查询的搜索产生,这里的使用数据是由基于位置的搜索产生。因此,在320处,方法300可包括基于基于位置的搜索结果的使用数据和/或从以前的基于位置的和/或基于查询的搜索累积的使用数据,来在服务器处排序候选搜索结果。在具有明确的或隐式的搜索查询的搜索请求中发送的位置数据中可包括与位置有关的多个因素。例如,由移动计算设备发送的位置数据和/或在接收搜索请求的服务器处的位置数据标识的位置可包括设备的地理分类,诸如“农村”、“城市”、“里面”或“外面”(即,设备端分类)。在某些实施例中,服务器可将指定的位置数据识别为与特定地理分类相关联(即,服务器端分类)。在某些实施例中,位置被报告为原始数据,诸如纬度和经度、可以地理推断的IP地址等(例如,没有分类)。在所有这些例子中,通过知道移动计算设备的位置和/或上下文,服务器可基于位置和/上下文来过滤基于查询的搜索结果和基于位置的搜索结果,从而被发送到移动计算设备的搜索结果是与该位置和/或上下文最相关的。
此外,位置数据可包括移动计算设备的方向。例如,如果用户在博物馆里并且面朝着梵高的画,则可在服务器处从用户的移动计算设备接收包括隐式搜索查询的搜索请求。 服务器可接着发送与梵高有关的基于位置的搜索结果给移动计算设备。但是,如果用户站在同一博物馆外并且面朝着博物馆,并且服务器从移动计算设备处接收到包括隐式搜索查询的搜索请求,则服务器可返回包括博物馆开放时间的基于位置的搜索结果。也就是说,在这一示例中,用户朝着博物馆的方向可用来推测用户可能感兴趣什么类型的信息。在用户站在博物馆前的这一示例中,搜索结果还可包括关于离移动计算设备的精确位置两个街区的画廊的信息。也就是说,在服务器处,可基于从移动计算设备处接收的位置数据(例如,“里面”相比于“外面”的地理分类)来缩放由位置数据标识的位置,并且搜索结果可适当地基于这一缩放的位置。可基于位置密度来进一步缩放由位置数据标识的位置。例如,如果移动计算设备用户在纽约市内旅游并且移动计算设备发送隐式的搜索查询给服务器,则由移动计算设备发送的位置数据标识的位置可被缩放至两个街区的半径范围,从而与两个街区半径范围内的位置相关联的基于位置的搜索结果可被返回至移动计算设备。但是,如果移动计算设备用户在爱达荷州的农村旅游,则由移动计算设备发送的位置数据标识的位置可被缩放至包括100英里的半径范围。可以明白,可在将位置数据发送给服务器之前在移动计算设备处缩放位置数据,或者可在服务器处缩放位置数据标识的位置。用户还可将特定的位置缩放偏好(例如,基于位置密度的自动缩放、手动缩放等)指示为用户偏好。在另一示例中,可将半径范围偏好和/或邻近度偏好包括为用户偏好。作为另一示例,位置数据可包括移动计算设备旅游的旅游路线。在这一示例中,基于位置的搜索结果可基于以前已经用来为在旅行线路上旅游的移动计算设备生成基于查询或基于位置的搜索结果的候选搜索信息。例如,如果移动计算设备的用户在从哥伦比亚特区到纽约市的路线上,则由移动计算设备发送的包括隐式的搜索查询的搜索请求可返回与纽约市内的到达目的地的交通情况有关的基于位置的搜索结果。因此,位置数据可包括到达位置或目的地位置。此外,基于位置的搜索结果可基于旅行路线沿线的热点目的地。例如,如果用户开车穿过一个国家,则移动计算设备可返回指示该旅行路线沿线的热门旅游目的地的基于位置的搜索结果。此外,移动计算设备的行驶速度可被移动计算设备和/或其他接收者检测,并且在服务器处接收的位置数据可包括该行驶速度。采用这一方式,可及时地更新基于位置的搜索结果。在另一示例中,移动计算设备的行驶速度可被包括在服务器从移动计算设备接收的位置数据内,从而基于查询或基于位置的搜索结果可基于预计的目的地的到达时间。可以明白,除了被用来过滤基于位置的搜索结果以外,位置数据可用来更准确地过滤基于查询的搜索结果。现在转至图4,示出了包括移动计算设备100和服务器404的系统400的示图。在图1中示出了图4的系统的示例使用情况场景,这一场景关于响应于在服务器404处接收包括明确的搜索查询408的搜索请求410,从服务器404发送基于查询的搜索结果406给移动计算设备100。图5是包括第二移动计算设备200和图4的服务器404的第二系统500的示图。 在图2中示出了图5的系统的示例使用情况场景,这一场景关于响应于包括隐式的搜索查询508的第二搜索请求446,从服务器404发送基于位置的搜索结果444给移动计算设备 200。在图4和图5中相似的系统组件被用相同地标号标记,尽管可以明白这两个独立系统可用于关于图1和图2描述的情况场景。此外,同一移动计算设备可发送包括明确的搜索查询的搜索请求以及包括隐式的搜索查询的搜索请求。特别地,图4示出包括具有定位仪模块412以确定标识移动计算设备100的位置的位置数据414的移动计算设备100的系统400。移动计算设备100还包括用于响应于指示将执行的所需搜索的用户输入418,自动地生成搜索请求410的搜索生成模块416。在某些示例中,用户输入418可以是关键词输入和/或搜索按钮促动器的开启的形式。搜索请求410包括用于基于查询的搜索结果406的位置数据414和明确的搜索查询408。搜索请求410可包括标识搜索请求410产生的时间或时间帧的时间数据420。例如,时间数据可标识包括特定的城市节日在内的数据范围。服务器可被配置为将从该搜索请求得到的候选搜索信息(例如,与城市节日有关的候选搜索信息)与城市节日的日期范围内的日期相关联,并且不将从该搜索请求得到的候选搜索信息与城市节日的日期范围之外的日期相关联。搜索请求410还可包括用户偏好422,诸如用户偏爱的地理区域、或者移动计算设备用户偏爱的“常去的地方”或邻近的地方。采用这一方式,如果移动计算设备位置在距用户偏爱的地理区域预定的距离之内,基于查询的搜索结果406可被适应为用户偏爱的地理区域。用户还可总是、有时候或者从不指示用户偏好默认为用户偏爱的地理区域。基于用户输入的用户偏好或推断的用户偏好,其他用户偏好可包括用户年龄、用户兴趣等。用户偏好可用来过滤服务器404处的搜索结果。搜索请求410可在网络似6上通过移动计算设备100的网络链接似4发送到服务器404。网络链接似4可通过网络似6发送搜索请求410给服务器404的位置感知的搜索服务似8。服务器404可包括服务器处理器430,并且位置感知的搜索服务4 可包括服务器处理器430可执行的代码。位置感知的搜索服务4 可包括明确的搜索模块434,它包括服务器处理器430可执行的代码以接收搜索请求410。明确的搜索模块434还可包括服务器处理器430可执行的代码以将从明确的搜索查询408中得到的候选搜索信息与搜索请求410中的位置数据414标识的位置相关联。在其他示例中,明确的搜索模块434包括服务器处理器430可执行的代码以将候选搜索信息与在搜索请求410中接收的时间数据420 标识的时间相关联。此外,明确的搜索模块434可包括服务器处理器430可执行的代码以发送基于查询的搜索结果406给移动计算设备100。移动计算设备100的网络链接4M可接收基于查询的搜索结果406以用于在移动计算设备100的显示屏104上显示。一旦基于查询的搜索结果406已经被发送给移动计算设备100,移动计算设备100 的使用模块4 可跟踪一个或多个基于查询的搜索结果406的使用数据440。使用数据440 可接着从移动计算设备100通过网络链接4M发送给位置感知的搜索服务4 的明确的搜索模块4;34。 明确的搜索模块434可包括服务器处理器430可执行的代码以接收使用数据440,从而未来的基于查询的搜索结果和未来的基于位置的搜索结果可以基于这些使用数据440 而从候选搜索信息中得到。服务器404还可包括将结合图5描述的隐式的搜索模块442。图5是用于响应于在服务器404处接收包括隐式的搜索查询448的第二搜索请求 446,提供基于位置的搜索结果444给移动计算设备200的第二系统500的示图。这里,移动计算设备200包括用于响应于预定的触发事件550的发生而自动地生成包括隐式的搜索查询508的搜索请求546的搜索生成模块516,这些预定的触发事件诸如唤醒移动计算设备200、激活移动计算设备200的搜索应用、开启搜索按钮促动器、移动至新的位置等。在其他示例中,如果移动计算设备200是“醒着的”或开机的,包括隐式的搜索查询的搜索请求可在预定的时间间隔或时间段生成。搜索请求546包括表示移动计算设备200的位置的位置数据414,以及对基于位置的搜索结果讨4的隐式的搜索查询508。尽管图5的位置数据414被表示为图4中相同的位置数据414,但是可以明白明确的搜索查询和隐式的搜索查询的位置数据可以是不同的, 而服务器处的位置数据标识的位置可以是相同或相似的。搜索请求546可包括表示搜索请求546产生的时间或时间帧的时间数据552。因此,基于位置的搜索结果544可从与时间数据552标识的时间相关联的候选搜索信息中得至IJ。采用这一方式,可利用由多个移动计算设备执行的搜索查询的共同的历史以提供相关的搜索结果。如结合图4所讨论的,搜索请求546还可包括诸如用户偏爱的地理区域之类的用户偏好522。采用这一方式,如果移动计算设备的当前位置在距该偏爱的地理区域预定的距离之内,基于位置的搜索结果可被适应为用户偏爱的地理区域。基于用户输入的用户偏好以及基于用户与移动计算设备的交互(例如,频繁的搜索查询、搜索查询的类型、对搜索结果的响应等)推断的用户偏爱,其他用户偏爱可包括用户年龄、用户兴趣等。基于查询的搜索结果和基于位置的搜索结果还可基于历史用户行为,诸如用户与移动计算设备的交互(例如,频繁的搜索查询、搜索查询的类型、对搜索结果的响应等)。位置感知的搜索服务4 可包括隐式的搜索模块442,它包括服务器处理器430可执行的代码以接收搜索请求M6。隐式的搜索模块442可包括服务器处理器430可执行的代码以接收包括标识移动计算设备200的位置的位置数据414和隐式的搜索查询508的搜索请求M6。隐式的搜索模块442还可包括服务器处理器430可执行的代码以发送从与位置相关联的候选搜索信息中得到的基于位置的搜索结果544给移动计算设备200。移动计算设备200的网络链接5M可接收基于位置的搜索结果544以用于在显示屏204上显示,其中移动计算设备200的显示屏可显示基于位置的搜索结果M4,而不需进一步的用户干预。 也就是说,可在显示屏204上显示基于位置的搜索结果M4,而不需要进一步的用户输入或附加的预定的触发事件,诸如附加的设备唤醒姿势、搜索应用激活、开启按钮促动器等。一旦基于位置的搜索结果544已经被发送给移动计算设备200,移动计算设备200 的使用模块538可跟踪一个或多个基于位置的搜索结果444的使用数据M0。使用数据MO 可接着从移动计算设备200通过网络链接5M发送给位置感知的搜索服务428。在某些例子中,这一使用数据540被发送给明确的搜索模块434。在任一例子中,位置感知的搜索服务4 可包括服务器处理器430可执行的代码以接收使用数据M0,从而未来的基于查询和/或基于位置的搜索结果可以基于这些使用数据540而从候选搜索信息中得到。如示,一个服务器可包括明确的搜索模块、隐式的搜索模块服务器和服务器处理器。在其他示例中,明确的搜索模块和隐式的搜索模块可驻在独立的服务器上,它具有被配置为互相交互操作以实现此处所述的方法和过程的独立的处理器。在又一示例中,一个服务器可包括明确的搜索模块和隐式的搜索模块,以及用于执行各个模块的代码的处理器。尽管示出了提供图4中基于查询的搜索结果以及图5中基于位置的搜索结果的系统被示出为具有两个不同的移动计算设备,但是可以明白同一移动计算设备可与用于提供基于查询的搜索结果和基于位置的搜索结果的一个或多个服务器交互。标识移动设备的位置的位置数据可采用各种不同的形式,而不背离本公开的精神。在某些实施例中,位置数据可包括从GPS获得的经度和纬度信息。在某些实施例中,位置数据可包括IP地址、移动电话塔三角测量等。精确度的级别可取决于用来确定移动设备的位置的技术而改变。应当理解,服务器可用从位于两个不同位置的两个或更多个不同的移动设备处接收的位置数据来标识位置。例如,两个移送设备可以在同一餐馆前,但是在略微不同的位置。如果设备的分辨率能够区分这一略微不同的位置,则设备可以发送略微不同的位置数据。尽管如此,服务器可被训练以将两个位置都解释为相同位置的一部分,从而相同的基于位置的搜索结果可被发送给两个设备。将明白,此处所描述的移动计算设备和服务器可以是被配置为执行此处所描述的程序的任何合适的计算设备。例如,计算设备可以是大型计算机、个人计算机、膝上型计算机、便携式数字助理(PDA)、启用计算机的无线电话、联网计算设备、或者其他合适的计算设备,并且可通过诸如因特网等的计算机网络互相连接。这些计算设备通常包括处理器和相关联的易失性和非易失性存储器,并且被配置为使用易失性存储器的各部分和处理器来执行存储在非易失性存储器中的程序。如此处所使用的,术语“程序”指的是可由此处所描述的一个或多个计算设备执行或使用的软件或固件组件,并且意在包括可执行文件、数据文件、库、驱动、脚本、数据库记录等的个体或组。将明白,可提供在其上存储程序指令的计算机可读介质,该程序指令在由计算设备执行后,导致计算设备执行以上所描述的方法并且造成以上所描述的系统操作。应当理解,此处的各实施例是说明性而不是限制性的,因为本发明的范围由所附权利要求而不是在其之前的描述定义,并且因此落入所附权利要求的边界和范围或其边界和范围的等效物内的所有改变旨在被所附权利要求包含。
权利要求
1.一种用于提供搜索结果给移动计算设备的方法[300],所述方法[300]包括从所述移动计算设备接收[302]搜索请求,所述搜索请求包括标识所述移动计算设备的位置的位置数据;如果所述搜索请求包括明确的搜索查询将从所述明确的搜索查询中得到的候选搜索信息与所述位置数据标识的位置相关联 [308];以及发送[310]基于查询的搜索结果给所述移动计算设备;以及如果所述搜索请求包括隐式的搜索查询发送[316]基于位置的搜索结果给所述移动计算设备,所述从候选搜索信息中得到的基于位置的搜索结果与所述位置数据标识的位置相关联。
2.如权利要求1所述的方法,其特征在于,所述搜索请求还包括标识时间的时间数据, 并且所述关联包括将候选搜索信息与所述时间数据标识的时间相关联,并且所述基于位置的搜索结果进一步从与时间相关联的候选搜索信息中得到。
3.如权利要求1所述的方法,其特征在于,还包括从所述移动计算设备接收基于查询的搜索结果和/或基于位置的搜索结果的使用数据,以及基于使用数据排序候选搜索信息,所述基于位置的搜索结果是从候选搜索信息基于候选搜索信息的排序而得到的。
4.如权利要求1所述的方法,其特征在于,所述搜索请求包括用户偏好,并且所述基于位置的搜索结果基于用户偏好。
5.如权利要求4所述的方法,其特征在于,所述用户偏好包括至少一个用户偏爱的地理区域。
6.如权利要求1所述的方法,其特征在于,所述位置数据标识的位置是地理区域。
7.如权利要求1所述的方法,其特征在于,所述位置数据标识的位置是地理分类。
8.如权利要求1所述的方法,其特征在于,所述基于位置的搜索结果还基于历史用户行为。
9.一种服务器(404),包括:处理器(430);位置感知的搜索服务0观),包括明确的搜索模块G34),所述明确的搜索模块(434)包括处理器(430)可执行的代码以接收包括标识移动计算设备(100)的位置的位置数据(414)和明确的搜索查询(408)在内的搜索请求G10),将从明确的搜索查询008)中得到的候选搜索信息与位置相关联,以及发送基于查询的搜索结果(406)给移动计算设备(100);以及隐式的搜索模块G42),所述隐式的搜索模块(44 包括处理器(430)可执行的代码以接收包括标识移动计算设备O00)的位置的位置数据(414)和隐式的搜索查询(508)在内的搜索请求(546),以及发送从与位置相关联的候选搜索信息中得到的基于位置的搜索结果644)给移动计算设备(200)。
10.如权利要求9所述的服务器,其特征在于,所述在明确的搜索模块处接收的搜索请求还包括标识时间的时间数据,并且所述明确的搜索模块还包括处理器可执行的代码以将候选搜索信息与时间相关联,并且所述基于位置的搜索结果进一步是从与时间相关联的候选搜索信息中得到的。
11.如权利要求9所述的服务器,其特征在于,所述明确的搜索模块还包括处理器可执行的代码以接收关于使用基于查询的搜索结果和/或基于位置的搜索结果的使用数据,并且所述基于位置的搜索结果是从候选搜索信息基于该使用数据而得到的。
12.如权利要求9所述的服务器,其特征在于,所述搜索请求还包括用户偏好。
13.如权利要求12所述的服务器,其特征在于,所述用户偏好包括用户偏爱的地理区域。
14.如权利要求9所述的服务器,其特征在于,所述位置数据包括地理区域。
15.如权利要求9所述的服务器,其特征在于,所述位置数据包括地理分类。
全文摘要
本文提供了用于向移动计算设备提供搜索结果的系统和方法。一个示例性方法包括从移动计算设备处接收搜索请求,其中搜索请求包括标识移动计算设备的位置的位置数据。如果搜索请求包括明确的搜索查询,则方法包括将从明确的搜索查询中得到候选搜索信息与由搜索请求的位置数据标识的位置相关联。如果搜索请求包括明确的搜索查询,则方法还包括发送基于查询的搜索结果给移动计算设备。如果搜索请求包括隐式的搜索查询,则方法包括发送基于位置的搜索结果给移动计算设备。基于位置的搜索结果从与由位置数据标识的位置相关联的候选搜索信息中得到。
文档编号H04W4/02GK102461217SQ201080026393
公开日2012年5月16日 申请日期2010年6月7日 优先权日2009年6月11日
发明者K·伍德科克, K·韦伯 申请人:微软公司