Search and Retrieval of Objects in a Social Networking System
First Claim
1. A computer-implemented method of searching for objects of a social networking system, comprising:
- receiving a query from a client device, the query associated with a user of a social networking system;
performing a plurality of search algorithms using the query, wherein one or more of the search algorithms obtains results based at least in part on examining connections of the user in the social networking system;
receiving a result set from each of the search algorithms, wherein each result set comprises a set of objects from an object store of the social networking system that match the query;
aggregating the result sets from the search algorithms into a combined result set; and
providing at least a portion of the combined result set to the client device in response to the query.
2 Assignments
0 Petitions
Accused Products
Abstract
A social networking system receives a query associated with a user and, in response, provides a combined result set comprising objects stored by a social networking system that match the query. The combined result set comprises multiple result sets obtained from different search algorithms. The various objects stored by the social networking system may be of different types representing different concepts, such as user objects, application objects, event objects, location objects, group objects, and hub/page objects, any of which may be included in the result set. The objects of the result set may be further filtered, ordered, and/or grouped based at least in part on known relationships of the user with the objects, such as geographic distances between locations associated with the user and the objects.
In one embodiment, one of the search algorithms identifies second-order connections of the user by referring to a connection index that stores a list of the connections of the users. The search algorithm may also identify a number of mutual connections that the user shares with the second-order connections.
-
Citations
20 Claims
-
1. A computer-implemented method of searching for objects of a social networking system, comprising:
-
receiving a query from a client device, the query associated with a user of a social networking system; performing a plurality of search algorithms using the query, wherein one or more of the search algorithms obtains results based at least in part on examining connections of the user in the social networking system; receiving a result set from each of the search algorithms, wherein each result set comprises a set of objects from an object store of the social networking system that match the query; aggregating the result sets from the search algorithms into a combined result set; and providing at least a portion of the combined result set to the client device in response to the query.
-
-
2. The computer-implemented method of claim 1, wherein the combined result set comprises a first object having a first type and a second object having a second type different from the first type.
-
3. The computer-implemented method of claim 1, wherein the combined result set comprises a user object.
-
4. The computer-implemented method of claim 1, wherein the combined result set comprises a page object.
-
5. The computer-implemented method of claim 1, wherein the combined result set comprises at least one of an application object, a group object, a media object, an event object, and a location object.
-
6. The computer-implemented method of claim 1, further comprising ordering the objects of the combined result set based at least in part on measures of affinities of the user for the objects.
-
7. The computer-implemented method of claim 6, wherein a measure of an affinity of the user for an object comprises a physical distance between a geographic location associated with the user and a geographic location associated with the object.
-
8. The computer-implemented method of claim 6, further comprising:
-
storing a social graph having nodes corresponding to the objects and edges corresponding to relationships of the objects; wherein an affinity of the user for an object comprises a distance on the social graph between the user and the object.
-
-
9. The computer-implemented method of claim 1, wherein the objects of the result set are grouped within the result set based at least in part on a search algorithm that produced them, the search algorithms including one or more of a second-order connections search, a history search, and a global importance search.
-
10. The computer-implemented method of claim 1, wherein one or more of the objects in the object store have associated name tokens, and wherein an object matches the query if the query is a prefix of at least one of the associated name tokens of the object.
-
11. A computer-implemented method comprising:
-
receiving text from a user; submitting the text as a query to a remote social networking system; receiving, from the social networking system, a combined result set comprising objects matching the query, the combined result set comprising objects obtained from a plurality of search algorithms performed by the social networking system; and displaying a set of items based at least in part on the objects of the result set.
-
-
12. The computer-implemented method of claim 11, further comprising using an application programming interface (API) of the remote social networking system to log the user in to the social networking system before submitting the text as the query.
-
13. The computer-implemented method of claim 11, wherein the result set comprises objects ordered based at least in part on measures of affinities of the user for the objects on the social networking system.
-
14. The computer-implemented method of claim 13, wherein a measure of an affinity of the user for an object comprises a physical distance between a geographic location associated with the user on the social networking system and a geographic location associated with the object on the social networking system.
-
15. The computer-implemented method of claim 13, wherein a measure of an affinity of the user for an object comprises a distance between the user and the object on a social graph of the social networking system, the social graph having nodes corresponding to objects and edges corresponding to relationships of the objects, the user being represented as one of the objects.
-
16. The computer-implemented method of claim 11, wherein the combined result set comprises a first object having a first type and a second object having a second type different from the first type
-
17. A computer-readable storage medium having executable computer program instructions embodied therein for searching for objects of a social networking system, actions of the computer program instructions comprising:
-
receiving a textual query from a client device, the query associated with a user of a social networking system; performing a plurality of search algorithms using the textual query, wherein one or more of the search algorithms obtains results based at least in part on examining connections of the user in the social networking system; receiving a result set from each of the search algorithms, wherein each result set comprises a set of objects from an object store of the social networking system that match the query; aggregating the result sets from the search algorithms into a combined result set; and providing at least a portion of the combined result set to the client device in response to the query.
-
-
18. The computer-readable storage medium of claim 17, wherein the combined result set comprises a first object having a first type and a second object having a second type different from the first type.
-
19. The computer-readable storage medium of claim 17, the actions further comprising ordering the objects of the combined result set based at least in part on measures of affinities of the user for the objects.
-
20. The computer-readable storage medium of claim 19, wherein a measure of an affinity of the user for an object comprises a physical distance between a geographic location associated with the user and a geographic location associated with the object
Specification