短词散列的制作方法
【技术领域】
[0001]本公开内容总体涉及社交网络系统。
【背景技术】
[0002]可包括社交网站的社交网络系统能够使其用户(诸如,个人或组织)与其交互并且通过其彼此交互。随着用户输入,社交网络系统可以在社交网络系统中创建和储存与用户相关的用户资料。用户资料可包括用户的人口统计信息、通信信道信息以及个人兴趣信息。随着用户输入,社交网络系统还可以创建和储存该用户与社交网络系统的其他用户之间的关系记录,并且为促进两个用户或多个用户之间的社交提供服务(例如,涂鸦墙(wallpost)、照片共享、活动组织、发消息、游戏或广告)。
[0003]社交网络系统可以通过一个或多个网络将与其服务相关的内容或消息发送至用户的手机或其他计算设备。用户还可以在用户的手机或其他计算设备上安装软件应用程序,用于访问用户的用户资料以及社交网络系统内的其他数据。社交网络系统可生成一组个性化的内容对象以显示给用户,诸如,连接至该用户的其他用户的集合的故事的新闻馈送。
【发明内容】
[0004]【具体实施方式】描述了基于搜索词的结构为数据库编索引的方法。【具体实施方式】可以表示具有二进制数的搜索词以及通过散列二进制数的搜索词对搜索结果进行索引。代替使用固定长度用于二进制数表示搜索词,【具体实施方式】可以通过为每个搜索词确定每个搜索词的前缀和后缀,减小二进制数的长度,并且至少部分基于每个搜索词的后缀的对象类型确定表示每个搜索词的二进制数的长度。因而,【具体实施方式】可以用表示搜索词的长度较短的二进制数减小为搜索词编索引的散列表的大小。
【附图说明】
[0005]图1示出了与社交网络系统相关联的示例网络环境。
[0006]图2示出了示例性社交图谱。
[0007]图3示出了基于搜索词的结构为数据库编索引的示例性方法。
[0008]图4示出了示例计算机系统。
【具体实施方式】
[0009]图1示出了与社交网络系统相关联的示例网络环境100。网络环境100包括通过网络I1彼此连接的用户101、客户端系统130、社交网络系统160、及第三方系统170。尽管图1示出了用户101、客户端系统130、社交网络系统160、第三方系统170以及网络110的具体布置,但是本公开考虑了用户101、客户端系统130、社交网络系统160、第三方系统170以及网络110的任何合适的布置。作为实例并非限制性方式,客户端系统130、社交网络系统160以及第三方系统170中的两个或更多可绕开网络110直接彼此连接。作为另一实例,客户端系统130、社交网络系统160以及第三方系统170中的两个或更多可物理地或逻辑地整体或部分共同位于同一位置。此外,尽管图1示出了用户101、客户端系统130、社交网络系统160、第三方系统170以及网络110的具体数量,但是本公开考虑用户101、客户端系统130、社交网络系统160、第三方系统170以及网络110的任何合适的数量。作为实例并非限制性方式,网络环境100可包括多个用户101、客户端系统130、社交网络系统160、第三方系统170以及网络110。
[0010]在【具体实施方式】中,用户101可以是与社交网络系统160或通过社交网络系统160交互或者通信的个体(个人用户)、实体(例如,企业、商家或第三方应用)或者(例如,个体的或者实体的)群体。在【具体实施方式】中,社交网络系统160可以是承载在线社交网络的网络可寻址计算机系统。社交网络系统160可生成、存储、接收、以及发送社交网络数据,例如,用户资料数据、概念资料数据、社交图谱信息、或者与在线社交网络有关的其他合适数据。社交网络系统160可由网络环境100的其他组件直接或者经由网络110访问。在【具体实施方式】中,社交网络系统160可包括授权服务器(或其他合适的组件),其允许用户101选择参加还是退出使他们的动作被社交网络系统160记录或者与其他系统(例如,第三方系统170)共享,诸如,通过设定适当的隐私设置。用户的隐私设置可以确定与用户相关的什么信息可被记录,可以如何记录与用户相关的信息,何时可以记录与用户相关的信息,谁可以记录与用户相关的信息,与用户相关的信息可以与谁共享,以及记录或分享与用户相关的信息的目的是什么。在适当的情况下,认证服务器可以用于通过嵌段、数据散列、匿名化、或其他适用技术强制执行社交网络系统30的用户的一个或多个的隐私设置。在【具体实施方式】中,第三方系统170可以是承载网站和应用程序的网络可寻址计算机系统。第三方系统170可生成、存储、接收、以及发送第三方系统数据,例如,网页、文本、图像、视频、音频、或应用程序。第三方系统170可由网络环境100的其他组件直接或者经由网络110访问。在【具体实施方式】中,一个或多个用户101可使用一个或多个客户端系统130访问数据、将数据发送至社交网络系统160或第三方系统170、以及从社交网络系统160或第三方系统170接收数据。客户端系统130可直接、经由网络110或经由第三方系统访问社交网络系统160或第三方系统170。作为实例并非限制性方式,客户端系统130可通过社交网络系统160访问第三方系统170。客户端系统130可以是任意合适的计算设备,诸如,个人计算机、便携式计算机、蜂窝电话、智能电话或平板计算机。
[0011]本公开内容考虑任意合适的网络110。作为实例并非限制性方式,网络110的一个或多个部分可以包括自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WffAN)、城域网(MAN)、因特网的一部分、公共交换电话网的一部分(PSTN)、蜂窝电话网络、或它们的两个或多个的组合。网络110可以包括一个或多个网络110。
[0012]链路150可将客户端系统130、社交网络系统160以及第三方系统170连接到通信网络110或者彼此连接。本公开内容考虑任意合适的链路150。在【具体实施方式】中,一个或多个链路150包括一个或多个有线线路(诸如,数字用户线路(DSL)或者有线电缆数据服务发送规范(DOCSIS))、无线链路(诸如,W1-Fi或者微波存取全球互通(WiMAX))、或者光学链路(诸如,同步光学网络(SONET)或者同步数字体系(SDH))。在【具体实施方式】中,一个或多个链路150各自包括自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WffAN,MAN、互联网的一部分、PSTN的一部分、以蜂窝技术为基础的网络、以卫星通信技术为基础的网络、另一个链路150或者两个或者多个此类链路150的组合。在整个网络环境100中链路150不必相同。就一方面或者多方面而言,一个或多个第一链路150可不同于一个或多个第二链路 150。
[0013]图2示出了示例性社交图谱200。在【具体实施方式】中,社交网络系统160可在一个或多个数据存储中储存一个或多个社交图谱200。在【具体实施方式】中,社交图谱200可以包括多个结点-其可以包括多个用户结点202或多个概念节点204-以及连接节点的多个矢线206。为了启发式的目的,以二维直观图示出了图2中示出的示例性社交图谱200。在【具体实施方式】中,社交网络系统160、客户端系统130、或第三方系统170可以访问社交图谱200和合适应用的相关的社交图谱信息。例如,在数据存储(诸如,社交图谱数据库)中社交图谱200的节点和矢线可被储存为数据对象。此类数据存储可包括社交图谱200的节点或矢线的一个或多个可搜索或可查询的索引。
[0014]在【具体实施方式】中,用户结点202可以对应于社交网络系统160的用户。作为实例并非限制性方式,用户可以是与社交网络系统160或者通过社交网络系统160进行交互或者通信的个体(个人用户)、实体(例如,企业、公司或者第三方应用)或者(例如,个人或者实体的)群体。在【具体实施方式】中,当用户使用社交网络系统160注册账号,社交网络系统160可以创建对应于该用户的用户节点202,并且在一个或多个数据存储中储存用户节点202。在适当情况下,本文中所描述的用户和用户节点202可以称为注册用户以及与注册用户相关的用户节点202。此外或者作为可替换的,在适当情况下,本文中所描述的用户和用户节点202可以称为没有注册社交网络系统160的用户。在【具体实施方式】中,用户节点202可以与用户提供的信息或者各种系统(包括社交网络系统160)收集的信息相关。作为实例并非限制性方式,用户可以提供他或她的姓名、资料图片、联系信息、生日、性别、婚姻状况、家庭状况、工作情况、教育背景、偏好、兴趣或其他人口统计信息。在【具体实施方式】中,用户节点202可以与对应于与用户相关的信息的一个或多个数据对象相关。在【具体实施方式】中,用户节点202可对应于一个或多个网页。
[0015]在【具体实施方式】中,概念节点204可对应于一个概念。作为实例并非限制性方式,一个概念可对应于一个地点(诸如,电影院、餐馆、地标或城市);网站(诸如,与社交网络系统160相关的网站或者与网络应用服务器相关的第三方网站);实体(诸如,个人、公司、群体、运动队或名人);位于社交网络系统160中或外部服务器(诸如,网络应用服务器)上的资源(诸如,音