索引和搜索动态地变化的搜索语料库的制作方法

文档序号:6596178阅读:250来源:国知局
专利名称:索引和搜索动态地变化的搜索语料库的制作方法
索引和搜索动态地变化的搜索语料库
背景技术
各种搜索引擎当前可用于在各种数据存储上执行关键字搜索。然而,这些搜索引擎一般将用户看作匿名实体,并且通常返回相同结果而不考虑哪些特定用户正在执行给定查询。

发明内容
提供了用于索引和搜索动态地变化的搜索语料库的工具和技术。这些工具可接收将文档通过网络上传到在线文档储存库的请求,并且呈现用户界面以方便上传。用户界面可包括响应于用户激活来授予至少一个其他用户搜索包含在文档内的内容的许可的设备。 通过用户界面,这些工具可从用户接收与授予许可相关的选择,并且文档与合并用户选择的共享参数相关联。最后,工具可接收要被上传的文档的标识。应当理解,上述主题可被实现为计算机控制的装置、计算机进程、计算系统或诸如计算机可读介质的制品。通过阅读以下具体实施方式
并审阅相关联的附图,这些及各种其他特征将变得显而易见。提供本发明内容以便以简化形式介绍将在以下的具体实施方式
中进一步描述的一些概念。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本发明内容用来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中提及的任何或所有缺点的各实现。


图1是示出了适用于实现与索引和搜索动态地变化的搜索语料库相关的工具和技术的系统或操作环境的组合方框和流程图。图2是示出了可与文档相关联的共享许可的示例的方框图。图3是示出了结合索引和搜索动态地变化的搜索语料库,以及用户可通过它指定图2所示的共享许可的用户界面,由用户设备来执行的过程流程的组合方框和流程图。图4是示出了与索引和搜索动态地变化的搜索语料库相关的过程流程的流程图, 如动态索引和搜索系统所执行。图5是示出了从用户设备通过网络到文档和索引存储元件的文档流的组合方框和流程图。图6是提供了与文档和索引存储元件相关的其他细节,并示出了与不同的用户相关联的不同的搜索语料库的方框图。图7是提供了与文档和索引存储元件相关的其他细节,并示出了与特定文档相关联的不同的动态网络和文件夹的方框图。图8是示出了用户设备提供的搜索界面和工具,以及示出了用户可通过它为给定搜索定义搜索范围参数的示例UI的方框图。图9是示出了用户设备和动态索引和搜索系统可通过它结合搜索动态地变化的搜索语料库来协作的过程流程的流程图。图10是示出了用于随时间执行的各种示例搜索和上传的搜索语料库的动态性质的时间线图。
具体实施例方式以下详细描述提供了用于索引和搜索动态地变化的搜索语料库的技术。尽管此处描述的主题呈现了结合计算机系统上的操作系统和应用程序来执行的程序模块的一般上下文,但是本领域技术人员将认识到,其他实现可以结合其他类型的程序模块来执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本领域技术人员将理解,可以利用其他计算机系统配置来实施此处描述的主题,这些计算机系统配置包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等。以下详细描述参考了构成详细描述的一部分并且作为说明示出各特定示例实现的附图。现在参考附图,其中全部若干附图中相同标号表示相同元件,本说明书讨论了用于索引和搜索动态地变化的搜索语料库的各种工具和技术。图1示出了在100处概括表示的适用于实现索引和搜索动态地变化的搜索语料库的系统或操作环境。更详细地转向图1,任意数目的用户102a,102b和102c(共同地,用户 102)可与相应的用户设备104a,104b和104c (共同地,用户设备104)交互。图1分别在 106a,106b和106c (共同地,交互106)处表示这些交互。一般而言,结合索引和搜索动态地变化的搜索语料库,这些交互106可表示用户向设备104发出的命令,对这些命令的响应寸。结合交互106,用户设备104可通过一个或多个网络108与一个或多个动态索引和搜索系统110通信。更具体地,用户102通过用户设备104动作,可将各个文档 llh-112c(共同地,已上传文档112)上传到索引和搜索系统110提供的在线文档存储 111。之后,索引过程可检索这些已上传文档112和索引它们以便后续搜索。一旦索引已上传文档112,用户可执行针对这些已上传文档112的搜索。系统110可提供由任意数目的用户设备104可访问的在线文档储存库。更具体地转向网络108,这些网络108可表示一个或多个通信网络。例如,网络108 可表示局域网(LAN),广域网(WAN),和/或个人区域网(例如,蓝牙型网络),这些网络中的任何一个可单独地或组合地操作以方便索引和搜索动态地变化的搜索语料库。如图1所示的网络108还表示与实现这些网络相关联的任何硬件(例如,适配器、接口、电缆等)、软件,或固件,并且还可表示这些网络可用于操作的任何协议。更具体地转向索引和搜索系统110,如图1所示的这些系统110可表示任意数目的这些系统。索引和搜索系统110可结合索引和搜索动态地变化的搜索语料库与任意数目的用户设备104协作。例如,索引和搜索系统110和用户设备104可以适于不同的实现的客户-服务器关系,对等关系或任何其他合适的关系来协作。更详细地转向系统110,这些系统可包括可具有被选为适于各特定实现的特定类型或架构的一个或多个处理器114。处理器114可耦合到被选为与处理器114兼容的一个或多个总线系统116。
系统110还可包括耦合到总线系统116的计算机可读存储介质118的一个或多个实例。总线系统116可使处理器114将代码和/或数据读取到计算机可读存储介质118 或从计算机可读存储介质118读取代码和/或数据。介质118可表示使用任何合适的技术来实现的存储元件形式的装置,这些技术包括但并不限于,半导体、磁性材料、光学等。介质 118可包括存储器组件,无论其被归类为RAM、ROM、闪存、还是其他类型,并且还可表示硬盘驱动器。存储介质118可包括指令的一个或多个模块,这些指令在被加载到处理器114中并被执行时,使得系统110执行与动态地索引和搜索改变搜索语料库相关的各种技术。如在本说明书全文中所述的,指令的这些模块还可使用在本说明书全文中所详述的组件,流程和数据结构来提供系统110可用于提供索引和搜索动态地变化的搜索语料库的各种工具或技术。例如,存储介质118可包括实现动态索引和搜索工具120的一个或多个软件模块。这些索引和搜索工具120 —般地表示被编程或配置成执行此处分配给系统110的各种功能的软件。存储介质118还可包含用于存储已上传文档112的在线文档存储元件111的一个或多个示例。存储介质还可包括索引存储元件122。后续附图进一步详细说明了存储元件 111和122。然而,总的来说,如图1所示的文档存储元件111 一般地表示表示各种文档、许可级别、共享规范等的数据结构的存储位置。索引存储元件122概括表示方便搜索上传文档112的索引的存储位置。图2示出了在200处一般地表示的用户设备(例如,图1中的104,并且带入图2) 的组件。图2还示出了结合索引和搜索动态地变化的搜索语料库可与文档相关联的共享许可的示例。更详细地转向用户设备104,这些设备可包括可具有被选为适于特定实现的特定类型或架构的一个或多个处理器202。用户设备104中的处理器202可以或可以不具有与索引和搜索系统110中的处理器114相同的类型或架构。处理器202可耦合到被选为与处理器202兼容的一个或多个总线系统204。用户设备104中的总线系统204可以或可以不具有与被选为用于索引和搜索系统110的总线系统116相同的类型和架构。用户设备104还可包括耦合到总线系统204的计算机可读存储介质206的一个或多个实例。总线系统204可使处理器202将代码和/或数据读取到计算机可读存储介质 206或从计算机可读存储介质206读取代码和/或数据。介质206可表示使用任何合适的技术来实现的存储元件形式的装置,这些技术包括但并不限于,半导体、磁性材料、光学等。 介质206可包括存储器组件,无论其被归类为RAM、R0M、闪存、还是其他类型,并且还可表示硬盘驱动器。存储介质206可包括指令的一个或多个模块,这些指令在被加载到处理器202中并被执行时,使得用户设备104执行与索引和搜索动态地变化的搜索语料库相关的各种技术。如在本说明书全文中所述的,指令的这些模块还可提供各种工具或技术,通过它用户设备104可使用在本说明书全文中所详述的组件,流程和数据结构来索引和搜索动态地变化的搜索语料库。例如,存储介质206可包括实现文档上传工具208的一个或多个软件模块。 一般而言,等待的文档上传工具表示用于使用户设备104能够通过网络(例如,图1中的 108)上传任意数目的文档210用于在合适的索引和搜索系统(例如,也在图1中的110)上进行索引和存储的软件。已上传文档210可与在212处一般地表示的共享许可相关联。可使用呈现给用户 102的合适的用户界面来填充共享许可212。图3示出了这些用户界面的示例,并且在结束图2的描述之后将在以下讨论。更具体地转向共享许可212,图2示出了当上传文档210时用户可指定的共享和/ 或搜索许可的若干示例。例如,如在214处一般地表示的,上传用户可指定给定文档210不被任何其他用户共享或可由其搜索。以此方式,上传用户可将他的或她的至少一些上传文档210维持为隐私。如在216处表示的,上传用户可标识被授予许可在已上传文档内访问、编辑、和/ 或搜索的一个或多个其他个体用户。更具体地,在框216中授予的访问许可可表示授予特定被标识或被枚举的个人的许可,如与授予其中个体个人是成员的组或其他集体结构的许可相区别。如在218处表示的,上传用户可标识一个或多个组或其他集体结构,进而使用这些组或其他结构并且编制(caning)任意数目的组成或成员。由此,除上传用户之外的给定用户可通过框216中显式标识或枚举来接收访问许可,或通过在框218中接收访问的组中的成员资格来继承访问许可。如在框220中表示的,上传用户可标识其成员是要接收已上传文档的共享和/或搜索许可的域。更具体地转向“域”的概念,在企业上下文(例如,名为ABC有限公司的假想公司)中,域的成员可包括其电子邮件地址(例如,john.smithfebc.com)或用户登录指示与企业的从属关系的那些用户。在一些情况下,上传用户可选择来与域相关联的一些用户子集共享已上传文档。例如,上传用户可指定将已上传文档限制为“emp”febc. com的共享许可,使得电子邮件地址以“emp”开始的所有用户可访问上传文档。以此方式,上传用户可使这个域的一些或所有成员在已上传文档内共享和/或搜索。如在框222处表示的,上传用户还可指示已上传文档是免费可用的,供索引和搜索系统110的任何用户搜索和/或共享。以此方式,上传用户可使已上传文档对于这些其他用户中的任何用户“公共”可用。图3示出了在300处概括表示的由用户设备结合索引和搜索动态地变化的搜索语料库来执行的过程流程。图3还示出了(在302处一般地表示)用户界面(UI),通过它上传用户可指定对图2中所示的一个的共享和/或搜索许可。更具体地转向图3,过程流程300可被理解为进一步详细描述文档上传工具208执行的过程。然而,本说明书的各实现可用其他组件执行过程流程300的至少部分而不背离本说明书的范围和精神。框304表示从给定上传用户(例如,图1中的10 接收上传一个或多个文档的请求。图2在210处提供了这些文档的示例。框306表示响应于在框304中接收到的请求将合适的用户界面(UI)提供给上传用户。例如,框306可包括呈现UI 302。更具体地转向UI 302,它可包括用于选择要上传的文件的文档选择设备308。例如,文档选择设备308可使用户在与已上传文档相关联的路径和名称中直接使用密钥,或可允许用户浏览并选择目录结构内的已上传文档。UI 302可包括设备310,响应于用户输入或激活来指示已上传文档对上传用户是
7保持为私密。在不同的可能实现中,设备310可在用户正在上传文档时呈现给上传用户,或可在用户上传文档之后呈现给上传用户。例如,一旦已上传文档存储在索引和搜索系统110 上,通过激活设备310,上传用户可指定已上传文档不与任何其他用户共享或可由其搜索。UI 302可包括设备312,响应于用户输入或激活来指示已上传文档可与索引和搜索系统110上的一个或多个特定枚举或标识的其他用户共享。例如,上传用户可检查或以其他方式激活设备312,并且可随后将特定标识被授权访问已上传文档的其他用户的信息输入到字段314中。输入到字段314中的信息可包括电子邮件地址,索引和搜索系统110 发出的唯一用户标识符,或其他合适、的标识信息。在一些情形中,上传用户可选择字段314 并且将字符输入到那个字段中。当用户将字符输入到字段314中时,文档上传工具208可过滤和更新其标识符与所输入的字符匹配的其他用户的列表。UI 302可包括设备316,响应于用户输入或激活来指示一个或多个其他用户组可在已上传文档内共享和/或搜索。例如,上传用户可检查或以其他方式激活设备316,并且可随后将标识可访问已上传文档的一个或多个其他用户组的信息输入到字段318中。类似于字段314的以上描述,字段318可响应于已输入到这个字段中的字符,使得字段318呈现与所输入的字符匹配的预定义组的已过滤列表。设备320响应于用户输入或激活来指示已上传文档可与一个或多个给定域相关联的用户共享或可由其搜索。例如,上传用户可检查或以其他方式激活设备302,并且可将信息输入到字段322中并标识已上传文档要与其共享的域。与如上字段314和318相比,字段322还可基于输入到字段322中的任何字符来提供用于呈现不可辨认的域的过滤功能。设备324响应于用户输入或激活来指示已上传文档要与具有对索引和搜索系统 110的合法访问的任何用户共享或可由其搜索。以此方式,上传用户可通过激活设备3M使给定已上传文档对于索引和搜索系统110公共可访问和可搜索。图3将设备310-3 共同表示为共享或搜索偏好326,如上传用户针对给定上传文档所表达。值得注意的是针对给定已上传文档,可适于在不同的上下文中激活一个或多个偏好326。例如,如果激活设备310来维护给定已上传文档为私密的,可停用其余设备 312-324 (例如,变灰或不响应于用户选择)。同样,如果激活设备3M来公共共享给定已上传文档而没有限制,可停用设备310-322。关于设备312-322,取决于用户希望如何管理给定已上传文档,用户可激活这些设备中的一个或多个。例如,用户可希望与两个不同的特定命名的用户共享已上传文档,并且可通过激活设备312和标识字段314中的命名用户来这样做。除这两个特定命名的用户之外,用户可通过激活设备316并标识字段318中的所需组来与一个或多个用户组共享已上传文档。在字段314中标识的两个特定命名的用户可以是或可以不是字段318中标识的组的成员。类似地,通过激活设备320并填充字段322,可与与特定域相关联的用户共享已上传文档。一般而言,用户可一起或分开激活或停用适于特定已上传文档的设备312,316和 320。返回到过程流程300,框3 表示接收共享/搜索参数326,如由用户通过UI 302 提供的各种工具所选择和所输入。进而,框330表示将文档上传到索引和搜索系统110。已上传文档可与共享/搜索引用3 相关联,使得索引和搜索系统110可索引已上传文档,适于稍后搜索。
图4示出了在400处一般地表示的与索引和搜索动态地变化的搜索语料库相关的过程流程,如动态索引和搜索系统100所执行。更具体地,过程流程400可被理解为进一步详细描述图1所示的动态索引和搜索工具120。然而,虽然过程流程400结合动态索引和搜索系统110来描述,但本说明书的各实现可用其他组件执行这些过程流程400的至少部分而不背离本说明书的范围和精神。更具体地转向过程流程400,框402表示接收给定已上传文档。例如,继续上述图讨论的情形,框402可表示接收图2所示的文档210。另外,框402可包括通过一个或多个中间网络(例如,图1中的108)接收已上传文档。框404表示提取为上传文档指定的任何适用共享/搜索偏好。共享/搜索偏好的示例在图3中的3 处示出,如可使用UI设备310-3 来定义。框406表示索引已上传文档,适于支持后续搜索。例如,框406可包括处理已上传文档的内容并构建已上传文档的搜索索引。搜索索引可包括在已上传文档内找到的关键词,并且可指示在已上传文档内这些词出现在哪里。因此,如果给定传入搜索请求这些关键词的出现,搜索索引可有效地返回如在已上传文档内所找到的这些关键词的任何位置,并且还可返回文档本身。 另外,框406可包括填充与已上传文档相关联的拥有者记录,如在框408处所一般地表示。如此处所使用的,文档的“拥有者”指的是将文档上传到索引和搜索系统110的用户。一般而言,已上传文档的拥有者指定与那个已上传文档相关联的共享/搜索偏好326。框406还可包括分析如在框404中所提取的共享/搜索偏好,来确定已上传文档是否要被除文档拥有者之外的用户共享或可由其搜索。图4在判定框410处一般地表示这个分析。例如,框410可包括参考共享/搜索偏好3 或已上传文档来确定当上传文档时拥有者是否激活设备310。从判定框410,如果已上传文档不被除拥有者之外的任何用户共享或可由其搜索, 过程流程400可取“否”分支412以返回到框406 (在414处一般地表示)。然而,返回到判定框410,如果已上传文档要被除拥有者之外的至少一个用户共享或可由其搜索,过程流程400可取“是”分支416到框418。框418表示填充由索引和搜索系统110内部维护的记录以指示哪些其他用户可搜索已上传文档。另外,其他过程流程可进一步填充这些记录以指示哪些其他用户可查看或编辑已上传文档。之后,过程流程400可经由框414返回到框 416。在完成框406之后,过程流程400可前进到框420,其表示响应于与已上传文档相关联的共享/搜索偏好来更新一个或多个搜索语料库。例如,如在422处表示的,如果拥有者提供新的已上传文档,与该拥有者相关联的搜索语料库可包括至少这个新的已上传文档。另外,如果该拥有者已经标识了至少一个其他用户可访问该已上传文档,还可更新其他用户的搜索语料库以包括至少该已上传文档。在其他情形中,从拥有者的角度,一个或多个其他用户可许可拥有者访问由那些其他用户上传的文档。因此,在那些其他用户显式地或隐式地许可拥有者访问这些文档的情况下,框似4表示更新拥有者的搜索语料库以合并或包括由其他用户上传的文档。显式授予拥有者的许可的示例可包括其中其他用户将拥有者特定标识为可访问由那些其他用户上传的文档的情形。隐式授予拥有者许可的示例可包括其中拥有者是由其他用户指定的组的成员的情形,如在框4 处所一般地表示。在这些情形中,拥有者可通过这些其他用户指定的组中的成员资格来继承访问权限。作为隐式授予许可的另一示例,框4 表示拥有者通过与域相关联来接收给定已上传文档的共享或搜索权限。例如,其他用户可上传给定文档,并且可指定域的所有成员可访问上传文档。另外,在那个文档的拥有者使文档公共可用的情况下,框430表示拥有者接收给已定上传文档的共享或搜索权限。图5示出了在500处一般地表示的其中用户设备通过网络将文档上传到在线文档和索引存储元件的组件和文档流程。更具体地转向图5,这个图带入在101a,104b和l(Mc 处的用户设备的示例。图5还带入在108处的代表性网络,在210a和210c处的代表性上传文档,以及在122处的代表性在线文档存储元件。在图5所示的示例情形中,用户设备10 通过网络108上传文档210a。已上传文档210a可与对应的许可集相关联,在21 处带入。许可21 可标识上传文档的拥有者, 并且还可以指示哪些其他用户(如果有的话)被许可在已上传文档内共享或搜索。如图所示,许可21 指示(如图1所示的)用户10 拥有已上传文档210a,并且用户10 只允许用户102b共享或搜索这个已上传文档。在图5所示的其他示例中,示出用户设备l(Mc来上传文档210c,这个文档与对应许可212c相关联。如图所示,许可212c指示(如图1所示的)用户102c拥有上传文档 210c,并且用户102c只允许用户10 共享或搜索这个已上传文档。当已上传文档210a和210c到达索引和搜索系统110时,这个系统110可将已上传文档210处理到在线文档和索引存储元件122中。如图5所示,存储元件122可包括分别对应于已上传文档210a和210c的表示50 和502c (共同地,文档表示502)。转向文档表示50加,存储元件122可使表示50 和506a与其相关联。更具体地, 表示50 可指示已上传文档210a的拥有者是用户102a,而表示506a可指示用户10 已授予用户102b共享/搜索上传文档210a的许可。类似地,转向文档表示502c,存储元件122可使表示5(Mc和506c与其相关联。表示5(Mc可指示已上传文档210c的拥有者是用户102c,而表示506c可指示用户102c许可用户10 共享/搜索已上传文档210c。现在转向图6,这个图示出了在600处一般地表示的与在线文档和索引存储元件 122相关的其他细节。另外,图6示出了与不同的用户相关联的不同的搜索语料库。更具体地转向图6,当新的已上传文档到达索引和搜索系统110时,当已上传文档被移除、删除,或修改时,或当现有已上传文档的共享许可随时间变化时,系统110可更新在线文档和索引存储元件122。更具体地,当任何上述事件随时间发生时,存储元件122可动态地定义、维护,和更新与不同的用户相关联的搜索语料库的表示。图6在60 处共同表示为多个不同的用户维护的搜索语料库。更具体地转向索引存储元件122,这些元件122可包括不同的文档(例如,210a和210c)的表示。在所示的示例中,表示60 对应于文档210,并且表示6(Mc对应于文档210c,为了清楚起见,用户 102a-102c从图6中略去。进而,文档表示6(Ma-604c (共同地,文档表示604)可指示哪些用户拥有并且可共享或搜索文档。在所示的示例中,文档表示60 与所有权记录606a相关联,其指示用户
10102a拥有已上传文档210a。然而,在本说明书的各实现中,给定用户可拥有任意数目的已上传文档。另外,文档表示60 与搜索记录608a相关联,其指示文档210a的拥有者许可至少用户102b在文档210a内共享或搜索。回想这个示例的上述描述,用户10 上传文档 210a,以及允许用户102c访问已上传文档210a的许可信息。然而,在本说明书的各实现中, 给定用户可具有访问多个已上传文档的许可。另外,在这些实现中,许可的示例可延伸超过图6所示的搜索或共享许可。转向文档表示6(Mc,在图6所示的示例中,所有权记录606c可指示用户102c上传并拥有文档210c。另外,搜索记录608c可指示用户102c已经与至少用户10 共享文档 210c,许可至少用户10 搜索文档210c。图7示出了在700处一般地表示的与存储元件122相关的其他细节。更具体地, 图7示出了与特定已上传文档210相关联的不同的动态网络和文件夹。更具体地转向图7,作为对不同的上传文档所维护的动态网络在702处共同表示。 在图7所示的快照中,索引存储元件122定义和维护与用户10 相关联的动态网络70加, 与用户102b相关联的动态网络702b,以及与用户102c相关联的动态网络702c。—般而言,这些动态网络702可指示,针对给定用户,其中允许那些用户不管是通过拥有那些文档还是通过共享那些文档的拥有者授予的许可来搜索的那些文档。如本文别处所述的,这些动态网络是“动态的”,意指在添加或删除新文档时或在这些文档的拥有者更改那些文档的许可设置时,它们的范围可随时间变化。转向对应于用户10 的动态网络70加,这个动态网络70 可指示用户10 已经访问并且被许可搜索至少文档210a(通过所有权)和文档210c (通过拥有用户102c授予的许可)。由此,在图7所示的快照中,与文档210a相关联的动态网络70 包括用户10 和102b。此外,其中用户10 可搜索的文档的动态搜索语料库70 包括文档。同样,转向对应于用户102b的动态网络702b,这个动态网络702b可指示用户 102b不拥有任何文档。然而,在图7所示的示例中,用户10 已经授予用户102b在文档 210a内搜索的许可。因此,在图7所示的快照中,与用户102b相关联的动态网络702b可包括用户10加。此外,与用户102b相关联的动态搜索语料库704b可包括文档210a。最后,与用户102c相关联的动态网络702c可指示用户102c拥有文档210c。因此, 在图7所示的快照中,与用户102c相关联的动态网络702c可包括用户102c和用户102a。 此外,与用户102c相关联的动态搜索语料库7(Mc可包括文档210c。如上所述的,与用户10 相关联的搜索语料库70 可指示用户10 可在(用户 10 拥有的)文档210a内和在(用户102c授予的许可)文档210c内搜索。然而,如以下进一步详细描述的,对于给定搜索,用户10 可以或不可以跨他的或她的整个许可搜索语料库搜索。由此,搜索语料库70 指示其中用户10 在任何给定时间许可搜索的文档的最大范围。如本说明书全文中所述的,当文档210添加到文档存储111和索引存储122或从其中删除时,搜索语料库70 的程度和范围可随时间动态地变化。另外,这些文档210的拥有者可调整或修改他们的文档210的许可集。任何上述事件,以及可能其他事件可对不同的用户102的搜索语料库704产生一种类型的连锁反应。
类似地,在图7所示的示例快照中,用户102b未上传任何文档。然而,搜索语料库 704b指示用户102b已经被授予访问文档210a的许可,应当是用户102b为给定搜索如此选择。另外,取决于由用户102b或其他用户102采取的动作,搜索语料库704b还可动态地变化。对为用户102c维护的动态搜索语料库7(Mc应用类似的考虑。在图7所示的快照中,搜索语料库7(Mc指示用户120c可(通过所有权)在文档210c内搜索。然而,搜索语料库7(Mc可指示用户102c未被授予访问任何其他已上传文档的许可。上述附图1-7描述了与从用户设备上传文档并将这些已上传文档处理到文档和索引存储元件122中相关的各种技术。从图8开始,本说明书开始讨论与搜索如被处理到文档和索引存储元件122中的这些已上传文档相关的技术。图8示出了在800处一般地表示的如用户设备所提供的搜索界面和工具,以及示例UI,用户可通过它为给定搜索定义搜索范围参数。为易于说明,图8在104处带入代表性用户设备,可包含在206处为了方便起见带入的代表性计算机可读存储介质。如图8所示, 存储介质206可包括提供搜索界面和相关工具802的软件模块。更具体地转向搜索界面和工具802,响应于启动搜索已上传文档的用户请求,这些工具802可提供UI 804。如图8所示,UI 804可包括字段806,用户可将一个或多个关键字或其他术语输入其中以在已上传文档中定位。UI 804可包括设备808,响应于用户输入或激活以指示给定用户希望只在他或她已经上传的文档中搜索关键字。换句话说,如果激活设备808,在索引和搜索系统110上执行的搜索将只包括给定用户拥有的那些文档。UI 804还可包括设备810,响应于用户输入或激活以指示给定用户希望只在由授权给定用户访问那些已上传文档的其他用户所上传的文档中搜索关键字。换句话说,如果激活设备810,在索引和搜索系统110上执行的搜索将只包括给定用户不拥有的,但用户被授权访问的文档。设备812响应于用户输入或激活以指示给定用户希望在除给定用户被授权访问的文档之外的他或她已经上传和拥有的文档中搜索关键字。换句话说,通过激活设备812 产生的搜索结果可等价于通过检查设备808和810两者将会产生的结果集。最后,设备814响应于用户输入或激活以指示给定用户希望在对于所有用户是 “公共”可用的已上传文档中搜索关键字。换句话说,激活设备814导致搜索其许可被设为 “公共的”的所有文档,,而不考虑谁拥有文档或谁已经被授予访问文档。值得注意的是,可选择适于不同的给定搜索以定义那些搜索的范围的设备 808-814。在这个上下文中,术语“范围”指的是针对其执行给定搜索的已上传文档的语料库。总体上,设备808-814可被表征为用于定义搜索范围的选择设备。这个已定义的搜索范围可被表达为搜索范围参数816。可单独地或组合地激活这些范围选择设备以定义不同的给定搜索的所需范围。例如,通过激活(例如,检查)设备808和814,给定用户可运行针对给定用户拥有的那些文档和针对其他用户公共可用的那些文档的搜索。作为另一个示例,通过激活设备812和814,给定用户运行针对给定用户(不管是通过直接所有权或通过另一个拥有者授予的许可)可访问的那些文档的搜索。在UI 804的一些实现中,这个UI可包括如在808处一般地表示的排名工具。总的来说,取决于其中定位搜索结果的已上传文档的类型,这些排名工具818可使用户指定搜索结果如何相对于彼此排名。例如,假设给定用户上传他或她自己的文档,并且之后执行给定搜索,用户可希望出现在他或她自己的文档中的搜索结果在搜索结果中第一个出现, 之后是在非拥有的已上传文档中出现的任何其他命中。更具体地转向排名工具818,对应于相对于彼此的那些已激活的设备,这些排名工具可与任何激活的或选择的设备808-814协作以对搜索结果排名。例如,排名工具820a和 820b (共同地,排名工具820)可与UI设备808相关联,并且排名工具82 和822b (共同地,排名工具822)可与UI设备810相关联。类似地,排名工具82 和824b (共同地,排名工具824)可与UI设备812相关联,并且排名工具826a和82 (共同地,排名工具826)可与UI设备814相关联。在操作中,假设给定用户激活或选择UI设备808,使得在给定用户自己的文档内出现的命中在搜索结果中出现,排名工具820可允许给定用户指定在搜索结果中这些命中相对于在其他类型的已上传文档中出现的命中呈现在哪里。例如,给定用户可激活排名工具820a以提高搜索结果中的这些命中的相对排名,并且可激活排名工具820b以降低这些命中的相对排名。用户可在适当时重复激活排名工具820,直到达到所需排名。在各示例实现中,排名工具820a-826a可以是“向上”箭头,而820b_826b可以是 “向下”箭头。在一些情形中,排名工具820-8 可以是“变灰”或停用,直到激活对应的UI 设备808-814。另外,UI 804可响应于排名工具820-826的操纵来调节其中设备808-814 呈现的次序。换句话说,其中设备808-814在UI 804中出现的次序可反映用户通过排名工具818指定的搜索结果的排名。图9示出了在900处一般地表示的用户设备104和动态索引和搜索系统110可用于结合搜索动态地变化的搜索语料库来协作的过程流程。如上述附图所示,用户设备104 和搜索系统110可通过一个或多个合适的网络108通信。首先转向用户设备104,过程流程900可从框902开始,其表示从用户(如提供给用户设备104)接收搜索命令或请求,。进而,响应于在框902中接收到的搜索命令,框904 表示将合适的UI呈现给用户。图8提供了在804处一般地表示的这一 UI的示例。框906表示接收一个或多个关键词或其他搜索术语(如输入到在框904中呈现的 UI中的)。例如,这个UI可包括诸如在图8中的806处所示的用户可将所需关键字输入到其中的字段。框908表示接收如用户所提供的搜索范围的选择。例如,在框904中呈现的UI可包括诸如在图8中的808-814处所示的那些设备的设备。以此方式,用户可指示他或她是否希望搜索只有他或她自己的已上传文档;授权用户访问那些文档或已经上传这些文档并使它们公共可用的其他用户上传的文档;或上述情形的任何组合。框908还可包括接收适于搜索结果的指定排名。例如,框908可包括从排名工具 818接收输入,如图8所示并以上所讨论。在一些实现情形中,过程流程800可包括框910,其表示存储搜索术语,范围定义, 和用于稍后检索的模板中的排名规范。例如,在给定用户重复执行相同搜索的情况下,可更有效地从模板检索搜索参数,而非使用户对于每个重复搜索重新输入相同参数。框912表示将搜索请求从用户设备104通过网络102发送给动态索引和搜索系统110。图9表示在914处的如从用户设备104所传送的搜索请求。一般而言,搜索请求 914可包括用户提交请求的标识,关键词或其他搜索术语,搜索范围的指示,以及在一些情况下,偏好或排名结果的指示。现在参考动态索引和搜索系统110,框916表示接收搜索请求914。进而,系统110 可从搜索请求914中提取用户标识(S卩,用户ID),如框981所表示。另外,系统110可从搜索请求914中提取搜索范围参数,如框920所表示。框922表示提取在搜索请求914中指定的关键词或其他搜索术语。基于如在框918和920中提取的用户ID和搜索范围,框拟4表示过滤已上传到索引和搜索系统110的文档。为了加快这个过滤过程,框拟4可包括引用与不同的用户或用户ID相关联的搜索语料库。例如,简要地回头参考图6,系统110可包括在线文档和索引存储122。进而,存储元件122可使相应搜索语料库602与不同的用户相关联。返回到图9,在搜索时,当这些用户中的一个提交搜索请求时,框拟4可包括为适当用户定位搜索语料库。进而,框拟6表示在包含在那个用户的适当搜索语料库内的文档内搜索指定关键词。另外,在搜索请求指定排名偏好的情况下,框9 可包括对任何搜索结果排名。框930表示返回在响应于搜索请求914的已上传文档内定位的任何搜索结果。图 9在932处一般地表示这些搜索结果。在用户设备104处,框934表示接收搜索结果932。进而,用户设备104可格式化和呈现搜索结果。在搜索请求914指定排名偏好的情况下,用户设备104可在显示搜索结果932时合并这些排名偏好。图10提供了在1000处一般地表示的示出随时间的搜索语料库的动态性质的时间线。图10还示出了这个动态性质如何影响随时间执行的示例搜索结果。更具体地转向图10,图10示出了沿着时间轴1002在任意时刻顺序地出现的一系列事件。如在1004处一般地表示的,给定用户A上传给定文档A。这个文档A可包含示例文本“ABC”,并且用户A可与另一用户B共享文档A。响应于在1004处表示的上传,动态索引和搜索系统110可更新与用户A相关联的搜索语料库以包括文档A。另外,系统110还可更新与用户B相关联的搜索语料库以包括文档A。如在1006处一般地表示的,用户B可在他的或她的搜索语料库内查询包含文本 “ABC”的任何文档。由于上传1004,用户B的搜索语料库现在包含文档A,其进而包含搜索文本“ABC”的命中。因此,如在1008处一般地表示的,系统110将至少文档A返回给用户 B0如在1010处表示的,另一用户C上传另一文档C,其也包含示例文本“ABC”。另外, 这个用户C公共共享这个文档C。响应于这个上传1010,系统110将更新用户A,B和C相应的语料库以包括新的已上传文档C。如在1012处表示的,如果用户B在包含示例文本“ABC”的他的或她的搜索语料库内重复文档的上述查询,这个查询现在将返回文档A和C,如在1014处所一般地表示。不同的用户的搜索语料库的动态性质由这个示例示出,其中相同用户执行的相同搜索在不同的时间返回不同的结果。
为了进一步示出动态网络和搜索语料库的灵活性,为了与用户B执行的处理形成对比所示,图10还描述了与其他代表性用户D相关联的处理。例如,如在1016处所示的, 用户D可查询包括“ABC”的所有文档。一段时间之后,如在1018处所示的,响应于在1016 处表示的查询,系统可将文档集返回给用户D。如在1020处一般地表示的,相同用户D可重复对包含“ABC”的所有文档的查询, 在1020处执行的查询与在1016处执行的查询相同。响应于在1020处表示的查询,系统可将相同文档集返回给用户D,如在1022处所一般地表示。更具体地,在1022处返回给用户 D的文档集可与在1018处返回给那个用户的文档相同。相反,用户B在不同的时间执行相同查询时接收不同的文档集,如在1008和1014处所表示。然而,与用户B和D相关联的网络可以是不同的,导致这些不同的用户在不同的时间执行相同查询时接收不同的结果。任何示例所示,用户B接收在不同的时间执行的相同查询的不同的结果,而用户D接收在不同的时间执行的相同查询的相同结果。上述描述提供了用于索引和搜索动态地变化搜索语料库的技术。虽然本说明书合并了计算机结构特征,方法动作和计算机可读介质专用的语言,所附权利要求书的范围不必限于此处描述的特定特征,动作或介质。相反,本说明书提供了说明性的而非限制各实现。此外,这些实现可修改和改变本说明书的各个方面,而不背离在以下权利要求书中所述的本说明书的真实精神和范围。
权利要求
1.一种包括其上存储有计算机可执行指令O08)的至少一个计算机可读存储介质 (206)的装置(104),当所述计算机可执行指令加载到处理器Q02)中并执行时,使得所述处理器接收(304)将至少一个文档(210)通过网络(108)上传到在线文档储存库(111)的请求;结合所述上传来呈现(306)用户界面(130),其中所述用户界面包括至少一个装置 (310-3M),响应于用户激活来授予至少一个其他用户对包含在所述文档内的内容进行搜索的许可;通过所述用户界面从所述用户接收(328)与授予所述许可相关的至少一个选择;使所述文档与合并所述用户选择的共享参数(326)相关联;以及接收要被上传的所述文档的至少一个标识O10A)。
2.如权利要求1所述的装置,其特征在于,还包括根据所述选择上传所述所标识的文档的指令。
3.如权利要求1所述的装置,其特征在于,呈现用户界面的所述指令包括呈现包括至少一个其他装置的用户界面的指令,所述至少一个其他装置响应于用户激活使所述用户避免与任何其他用户共享所述文档。
4.如权利要求1所述的装置,其特征在于,呈现用户界面的所述指令包括呈现包括至少一个其他装置的用户界面的指令,所述至少一个其他装置响应于用户激活使所述用户标识被授予搜索所述文档内的内容的许可的至少一个用户组。
5.如权利要求1所述的装置,其特征在于,呈现用户界面的所述指令包括呈现包括至少一个其他装置的用户界面的指令,所述至少一个其他装置响应于用户激活使所述用户标识被授予搜索所述文档内的内容的许可的至少一个用户域。
6.如权利要求1所述的装置,其特征在于,呈现用户界面的所述指令包括呈现包括至少一个其他装置的用户界面的指令,所述至少一个其他装置响应于用户激活使所述用户指定所述文档能够被所述在线文档储存库的任何其他用户搜索。
7.一种包括其上存储有计算机可执行指令(120)的至少一个计算机可读存储介质 (118)的装置(110),其特征在于,当所述计算机可执行指令加载到处理器(114)中并执行时,使得所述处理器接收(40 上传到在线文档存储库(111)的至少一个文档O10);标识(408)所述文档的拥有者(606a);提取(404)为所上传的文档指定的共享许可,其中所述共享许可指示所上传的文档是否被包括在与除所述拥有者之外的至少一个用户相关联的动态搜索语料库(704a)中;以及索引(406)所上传文档的内容,至少供所述文档的所述拥有者和其搜索语料库包括所上传的文档的任何其他用户搜索。
8.如权利要求7所述的装置,其特征在于,还包括接收对与所上传的文档相关联的所述共享文档的至少一个更新的指令,并且还包括响应于所述更新来更新至少一个其他用户的所述至少一个动态搜索语料库的指令。
9.如权利要求8所述的装置,其特征在于,接收更新的所述指令包括接收将所述文档添加到与至少所述其他用户相关联的动态搜索语料库的更新的指令。
10.如权利要求8所述的装置,其特征在于,接收更新的所述指令包括接收从与至少所述其他用户相关联的动态搜索语料库中移除所述文档的更新的指令。
11.如权利要求7所述的装置,其特征在于,还包括接收上传到所述在线文档储存库的至少第二文档的指令,并且还包括重复为了释放所上传的第二文档的所述标识、提取和索引。
12.如权利要求7所述的装置,其特征在于,还包括提取对所上传的文档指定的编辑许可的指令,所述编辑许可指示是否许可除所述文档的所述拥有者之外的至少一个用户编辑所上传的文档。
13.如权利要求7所述的装置,其特征在于,还包括定义与所述在线文档储存库的至少一个其他用户相关联的动态搜索语料库的指令,所述搜索库表示在其中许可所述其他用户搜索的文档的范围。
14.如权利要求13所述的装置,其特征在于,还包括为所述其他用户更新所述搜索语料库以包括由所述其他用户拥有的至少一个其他文档的指令。
15.如权利要求13所述的装置,其特征在于,还包括响应于包括所述共享许可中的至少所述其他用户的所上传的文档的拥有者,来更新所述其他用户的所述搜索语料库,以包括至少所上传的文档的指令。
全文摘要
提供了用于索引和搜索动态地变化的搜索语料库的工具和技术。这些工具可接收将文档通过网络上传到在线文档储存库的请求,并且呈现用户界面以方便上传。用户界面可包括响应于用户激活来授予至少一个其他用户对包含在文档内的内容的搜索的许可的设备。通过用户界面,这些工具可从用户接收与授予许可相关的选择,并且文档与合并用户选择的共享参数相关联。最后,工具可接收要被上传的文档的标识。
文档编号G06F17/21GK102282555SQ200980154857
公开日2011年12月14日 申请日期2009年12月4日 优先权日2009年1月15日
发明者K·托帕坦, M·M·马利诺夫斯基, R·R·米特拉, W·张, Z·王 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1