Blending Search Results on Online Social Networks
First Claim
1. A method comprising, by one or more computing devices:
- receiving from a first user of an online social network a search query input comprising one or more n-grams;
generating a plurality of query commands based on the search query input;
searching one or more verticals to identify one or more objects stored by the vertical that match the query commands, each vertical storing one or more objects associated with the online social network;
generating a plurality of search-result modules, each search-result module corresponding to a query command of the plurality of query commands, each search-result module comprising references to one or more of the identified objects matching the query command corresponding to the search-result module;
scoring the search-result modules; and
sending each search-result module having a score greater than a threshold score to the first user for display.
2 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes receiving from a first user of an online social network a search query input including one or more n-grams; generating a number of query commands based on the search query input; and searching one or more verticals to identify one or more objects stored by the vertical that match the query commands. Each vertical stores one or more objects associated with the online social network. The method also includes generating a number of search-result modules. Each search-result module corresponds to a query command of the number of query commands. Each search-result module includes references to one or more of the identified objects matching the query command corresponding to the search-result module. The method also includes scoring the search-result modules; and sending each search-result module having a score greater than a threshold score to the first user for display.
105 Citations
19 Claims
-
1. A method comprising, by one or more computing devices:
-
receiving from a first user of an online social network a search query input comprising one or more n-grams; generating a plurality of query commands based on the search query input; searching one or more verticals to identify one or more objects stored by the vertical that match the query commands, each vertical storing one or more objects associated with the online social network; generating a plurality of search-result modules, each search-result module corresponding to a query command of the plurality of query commands, each search-result module comprising references to one or more of the identified objects matching the query command corresponding to the search-result module; scoring the search-result modules; and sending each search-result module having a score greater than a threshold score to the first user for display.
-
-
2. The method of claim 1, wherein scoring the search-result modules comprises, for each search-result module:
-
calculating a score for each identified object referenced by the search-result module; and calculating a score for the search-result module based at least in part on the calculated scores of the identified objects referenced by the search-result module.
-
-
3. The method of claim 1, wherein scoring the search-result modules comprises, for each search-result module:
-
classifying the search query input based on one or more of the n-grams of the search query input; and calculating a score for the search-result module based at least in part on the classification of the search query input.
-
-
4. The method of claim 3, wherein classifying the search input is based at least in part on information of the first user.
-
5. The method of claim 3, further comprising increasing a score of one or more of the identified objects of a particular object-type based at least in part on the classification of the search query input.
-
6. The method of claim 3, further comprising decreasing a score of one or more of the identified objects of a particular object-type based at least in part on the classification of the search query input.
-
7. The method of claim 1, wherein the plurality of query commands are generated by a sub-request generator of the online social network.
-
8. The method of claim 1, wherein each query command comprises one or more query constraints, each query constraint being for a specified number of objects of a specified object-type.
-
9. The method of claim 1, wherein each vertical stores objects of a particular object-type.
-
10. The method of claim 9, wherein the particular object-type is selected from a group consisting of:
- a user, a photo, a post, a webpage, an application, a location, or a user group.
-
11. The method of claim 1, wherein each vertical stores objects of a different object-type.
-
12. The method of claim 1, further comprising:
accessing a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges between two of the nodes representing a single degree of separation between them, the nodes comprising; a first node corresponding to the first user; and a plurality of second nodes that each correspond to a concept or a second user associated with the online social network.
-
13. The method of claim 12, wherein each search-result module corresponds to a structured query comprising references to one or more nodes and one or more edges, the structured query being based on the query command corresponding to the search-result module.
-
14. The method of claim 12, wherein each node of the plurality of nodes is associated with a particular object.
-
15. The method of claim 1, wherein the search query input comprises a user-generated character string received from a client system associated with the first user, and wherein the user-generated character string is entered by the first user in a query field and rendered at the client device as each character of the character string is entered by the user.
-
16. The method of claim 1, wherein searching the verticals to identify one or more objects stored by the vertical that match the query command comprises using one or more string matching algorithms to attempt to match the one or more n-grams with a string of characters associated with each of one or more of the objects.
-
17. The method of claim 1, further comprising:
-
receiving a selection of one of the references from the first user; and sending the object corresponding to the reference to the first user.
-
-
18. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
-
receive from a first user of an online social network a search query input comprising one or more n-grams; generate a plurality of query commands based on the search query input; search one or more verticals to identify one or more objects stored by the vertical that match the query commands, each vertical storing one or more objects associated with the online social network; generate a plurality of search-result modules, each search-result module corresponding to a query command of the plurality of query commands, each search-result module comprising references to one or more of the identified objects matching the query command corresponding to the search-result module; score the search-result modules; and send each search-result module having a score greater than a threshold score to the first user for display.
-
-
19. A system comprising:
- one or more processors; and
a memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to;receive from a first user of an online social network a search query input comprising one or more n-grams; generate a plurality of query commands based on the search query input; search one or more verticals to identify one or more objects stored by the vertical that match the query commands, each vertical storing one or more objects associated with the online social network; generate a plurality of search-result modules, each search-result module corresponding to a query command of the plurality of query commands, each search-result module comprising references to one or more of the identified objects matching the query command corresponding to the search-result module; score the search-result modules; and send each search-result module having a score greater than a threshold score to the first user for display.
- one or more processors; and
Specification