Indexing based on object type
First Claim
Patent Images
1. A method comprising, by one or more computing devices:
- receiving a search request for at least one of a plurality of objects of a social-networking system, wherein;
the social-networking system comprises a social graph that comprises a plurality of nodes and a plurality of edges connecting the nodes;
each object corresponds to a node of the social graph;
the objects of the social-networking system are stored by a plurality of partitions of a database that are each configured to store objects of only a particular one of a plurality of object types;
the objects in the partitions are indexed by a plurality of search indices that each index only a particular one of the plurality of partitions; and
each search index indexes objects with information identifying edges connecting the nodes represented by the objects to other nodes in the social graph and with information identifying the other nodes;
determining one or more search queries based on the search request wherein, each search query has a single object type for its expected search results;
sending each search query to the partition that is configured to store objects of only the particular one of the object types that the search query has for its expected search results;
for each search query, attempting to retrieve one or more search results from the partition that the search query was sent to, wherein the search results were identified using the search index that indexes only the partition; and
aggregating search results retrieved from the partitions that the search queries were sent to.
3 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes maintaining data stores for objects of a social-networking system, each data store being configured to store objects of a particular one of multiple object types indexed by a search index; receiving an object; identifying an object type of the received object; storing the received object in at least one data store being configured to store objects of the identified object type; and updating the search index of the at least one data store based on the received object.
18 Citations
20 Claims
-
1. A method comprising, by one or more computing devices:
-
receiving a search request for at least one of a plurality of objects of a social-networking system, wherein; the social-networking system comprises a social graph that comprises a plurality of nodes and a plurality of edges connecting the nodes; each object corresponds to a node of the social graph; the objects of the social-networking system are stored by a plurality of partitions of a database that are each configured to store objects of only a particular one of a plurality of object types; the objects in the partitions are indexed by a plurality of search indices that each index only a particular one of the plurality of partitions; and each search index indexes objects with information identifying edges connecting the nodes represented by the objects to other nodes in the social graph and with information identifying the other nodes; determining one or more search queries based on the search request wherein, each search query has a single object type for its expected search results; sending each search query to the partition that is configured to store objects of only the particular one of the object types that the search query has for its expected search results; for each search query, attempting to retrieve one or more search results from the partition that the search query was sent to, wherein the search results were identified using the search index that indexes only the partition; and aggregating search results retrieved from the partitions that the search queries were sent to. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
-
receive a search request for at least one of a plurality of objects of a social-networking system, wherein; the social-networking system comprises a social graph that comprises a plurality of nodes and a plurality of edges connecting the nodes; each object corresponds to a node of the social graph; the objects of the social-networking system are stored by a plurality of partitions of a database that are each configured to store objects of only a particular one of a plurality of object types; the objects in the partitions are indexed by a plurality of search indices that each index only a particular one of the plurality of partitions; and each search index indexes objects with information identifying edges connecting the nodes represented by the objects to other nodes in the social graph and with information identifying the other nodes; determine one or more search queries based on the search request wherein, each search query has a single object type for its expected search results; send each search query to the partition that is configured to store objects of only the particular one of the object types that the search query has for its expected search results; for each search query, attempt to retrieve one or more search results from the partition that the search query was sent to, wherein the search results were identified using the search index that indexes only the partition; and aggregate search results retrieved from the partitions that the search queries were sent to. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
one or more processors; and one or more computer-readable non-transitory storage media embodying software that is operable when executed by the processors to; receive a search request for at least one of a plurality of objects of a social-networking system, wherein; the social-networking system comprises a social graph that comprises a plurality of nodes and a plurality of edges connecting the nodes; each object corresponds to a node of the social graph; the objects of the social-networking system are stored by a plurality of partitions of a database that are each configured to store objects of only a particular one of a plurality of object types; the objects in the partitions are indexed by a plurality of search indices that each index only a particular one of the plurality of partitions; and each search index indexes objects with information identifying edges connecting the nodes represented by the objects to other nodes in the social graph and with information identifying the other nodes; determining one or more search queries based on the search request wherein, each search query has a single object type for its expected search results; sending each search query to the partition that is configured to store objects of only the particular one of the object types that the search query has for its expected search results; for each search query, attempting to retrieve one or more search results from the partition that the search query was sent to, wherein the search results were identified using the search index that indexes only the partition; and aggregate search results retrieved from the partitions that the search queries were sent to. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification