Priming search results on online social networks
First Claim
1. A method comprising, by a social-networking system of an online social network:
- receiving, at the social-networking system from a client device of a first user of the online social network, a partial query input comprising a first character string;
determining, by the social-networking system, one or more predicted queries based on the partial query input;
calculating, by the social-networking system, a score for each of the predicted queries based at least in part on the partial query input, wherein the score indicates a probability the user will input the respective predicted query;
determining, by the social-networking system, whether to execute each of the predicted queries based at least in part on the calculated score of the predicted query;
generating, by a search-engine server of the social-networking system, for each predicted query determined to be executed, a set of search results corresponding to the predicted query; and
sending, by the search-engine server of the social-networking system, responsive to receiving the partial query input, the set of search results corresponding to each predicted query determined to be executed to the client device of the first user for storage in a cache of the client device, each set of search results remaining stored without display in the cache of the client device until receipt of a completed query input at the client device, each set of search results being operable to be retrieved from the cache of the client device for display responsive to receiving a completed query input at the client device of the first user comprising a second character string, wherein the second character string comprises at least the first character string, the completed query input matching at least one of the predicted queries, the set of search results retrieved from the cache of the client device for display corresponding to the predicted query matching the completed query input.
2 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes receiving from a client device of a first user of an online social network a partial query input including a first character string. The method may determine one or more predicted queries based on the partial query input. The method may generate one or more search results for each of the predicted queries. The method may send, in response to receiving the partial query input, one or more of the search results to the client device for storage in a cache of the client device. The method may also retrieve, in response to receiving a completed query input from the first user, one or more of the search results from the cache of the client device for display. The completed query input may include a second character string, where the second character string may include at least the first character string.
-
Citations
33 Claims
-
1. A method comprising, by a social-networking system of an online social network:
-
receiving, at the social-networking system from a client device of a first user of the online social network, a partial query input comprising a first character string; determining, by the social-networking system, one or more predicted queries based on the partial query input; calculating, by the social-networking system, a score for each of the predicted queries based at least in part on the partial query input, wherein the score indicates a probability the user will input the respective predicted query; determining, by the social-networking system, whether to execute each of the predicted queries based at least in part on the calculated score of the predicted query; generating, by a search-engine server of the social-networking system, for each predicted query determined to be executed, a set of search results corresponding to the predicted query; and sending, by the search-engine server of the social-networking system, responsive to receiving the partial query input, the set of search results corresponding to each predicted query determined to be executed to the client device of the first user for storage in a cache of the client device, each set of search results remaining stored without display in the cache of the client device until receipt of a completed query input at the client device, each set of search results being operable to be retrieved from the cache of the client device for display responsive to receiving a completed query input at the client device of the first user comprising a second character string, wherein the second character string comprises at least the first character string, the completed query input matching at least one of the predicted queries, the set of search results retrieved from the cache of the client device for display corresponding to the predicted query matching the completed query input.
-
-
2. The method of claim 1, further comprising:
-
receiving, at the client device of the first user, the completed query input; and retrieving, at the client device of the first user, responsive to receiving the completed query input, the set of search results stored in the cache of the client device, the retrieved set of search results corresponding to the at least one predicted query matching the completed query input.
-
-
3. The method of claim 1, further comprising sending, responsive to receiving the completed query input, one or more suggested queries to the client device of the first user for display, each suggested query corresponding to one of the one or more predicted queries.
-
4. The method of claim 3, further comprising:
-
receiving, at the client device of the first user, a selection of one of the suggested queries; and retrieving, at the client device of the first user, responsive to receiving the selected suggested query, the set of search results stored in the cache of the client device, the retrieved set of search results corresponding to the selected suggested query.
-
-
5. The method of claim 1, further comprising:
-
receiving, from the client device of the first user, the completed query input, wherein the completed query input does not match at least one of the predicted queries; generating, for the completed query input, one or more search results corresponding to the completed query input; and sending, responsive to receiving the completed query input, one or more of the search results to the client device for display to the first user.
-
-
6. 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 a first user associated with an online social network; and a plurality of second nodes that each correspond to a concept or a second user associated with the online social network.
-
7. The method of claim 6, wherein at least one of the predicted queries is a structured query comprising references to one or more nodes and one or more edges.
-
8. The method of claim 6, wherein generating the set of search results corresponding to the predicted queries comprises searching the social graph to identify one or more objects corresponding to one or more nodes, respectively, of the plurality of nodes that match each of the predicted queries.
-
9. The method of claim 8, wherein each of the search results comprises references to one or more of the identified objects.
-
10. The method of claim 1, wherein the score for each of the predicted queries is based on a ranking determined by a typeahead process, wherein the typeahead process identifies one or more matches between one or more n-grams of the partial query input and one or more objects associated with the online social network.
-
11. The method of claim 1, wherein the score for each of the predicted queries is based on a query type of the partial query input.
-
12. The method of claim 1, wherein the score for each of the predicted queries is based on a page of the online social network currently accessed by the first user.
-
13. The method of claim 1, wherein the score for each of the predicted queries is based on a number of characters in the partial query input.
-
14. The method of claim 1, wherein the score for each of the predicted queries is further based on a social-graph affinity associated with the first user with respect to one or more objects associated with the predicted query.
-
15. The method of claim 1, wherein the retrieved search results are displayed on a search-results page of a native application associated with the online social network.
-
16. The method of claim 1, wherein the retrieved search results are displayed on a search-results page of a webpage of the online social network accessed by a browser client.
-
17. One or more computer-readable non-transitory storage media embodying software that is operable when executed, by a social-networking system of an online social network, to:
-
receive, at the social-networking system from a client device of a first user of an online social network, a partial query input comprising a first character string; determine, by the social-networking system, one or more predicted queries based on the partial query input; calculate, by the social-networking system, a score for each of the predicted queries based at least in part on the partial query input, wherein the score indicates a probability the user will input the respective predicted query; determine, by the social-networking system, whether to execute each of the predicted queries based at least in part on the calculated score of the predicted query; generate, by a search-engine server of the social-networking system, for each predicted query determined to be executed, a set of search results corresponding to the predicted query; and send, by the search-engine server of the social-networking system, responsive to receiving the partial query input, the set of search results corresponding to each predicted query determined to be executed to the client device of the first user for storage in a cache of the client device, each set of search results remaining stored without display in the cache of the client device until receipt of a completed query input at the client device, each set of search results being operable to be retrieved from the cache of the client device for display responsive to receiving a completed query input at the client device of the first user comprising a second character string, wherein the second character string comprises at least the first character string, the completed query input matching at least one of the predicted queries, the set of search results retrieved from the cache of the client device for display corresponding to the predicted query matching the completed query input.
-
-
18. A social-networking system of an online social network 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, at the social-networking system from a client device of a first user of an online social network, a partial query input comprising a first character string; determine, by the social-networking system, one or more predicted queries based on the partial query input; calculate, by the social-networking system, a score for each of the predicted queries based at least in part on the partial query input, wherein the score indicates a probability the user will input the respective predicted query; determine, by the social-networking system, whether to execute each of the predicted queries based at least in part on the calculated score of the predicted query; generate, by a search-engine server of the social-networking system, for each predicted query determined to be executed, a set of search results corresponding to the predicted query; and send, by the search-engine server of the social-networking system, responsive to receiving the partial query input, the set of search results corresponding to each predicted query determined to be executed to the client device of the first user for storage in a cache of the client device, each set of search results remaining stored without display in the cache of the client device until receipt of a completed query input at the client device, each set of search results being operable to be retrieved from the cache of the client device for display responsive to receiving a completed query input at the client device of the first user comprising a second character string, wherein the second character string comprises at least the first character string, the completed query input matching at least one of the predicted queries, the set of search results retrieved from the cache of the client device for display corresponding to the predicted query matching the completed query input.
- one or more processors; and
-
19. The system of claim 18, wherein the processors are further operable when executing the instructions to:
-
receive, at the client device of the first user, the completed query input; and retrieve, at the client device of the first user, responsive to receiving the completed query input, the set of search results stored in the cache of the client device, the retrieved set of search results corresponding to the at least one predicted query matching the completed query input.
-
-
20. The system of claim 18, wherein the processors are further operable when executing the instructions to:
send, responsive to receiving the completed query input, one or more suggested queries to the client device of the first user for display, each suggested query corresponding to one of the one or more predicted queries.
-
21. The system of claim 20, wherein the processors are further operable when executing the instructions to:
-
receive, at the client device of the first user, a selection of one of the suggested queries; and retrieve, at the client device of the first user, responsive to receiving the selected suggested query, the set of search results stored in the cache of the client device, the retrieved set of search results corresponding to the selected suggested query.
-
-
22. The system of claim 18, wherein the processors are further operable when executing the instructions to:
-
receive, from the client device of the first user, the completed query input, wherein the completed query input does not match at least one of the predicted queries; generate, for the completed query input, one or more search results corresponding to the completed query input; and send, responsive to receiving the completed query input, one or more of the search results to the client device for display to the first user.
-
-
23. The system of claim 18, wherein the processors are further operable when executing the instructions to:
access 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 a first user associated with an online social network; and a plurality of second nodes that each correspond to a concept or a second user associated with the online social network.
-
24. The system of claim 23, wherein at least one of the predicted queries is a structured query comprising references to one or more nodes and one or more edges.
-
25. The system of claim 23, wherein the instructions to generate the set of search results corresponding to the predicted queries comprises instructions to search the social graph to identify one or more objects corresponding to one or more nodes, respectively, of the plurality of nodes that match each of the predicted queries.
-
26. The system of claim 25, wherein each of the search results comprises references to one or more of the identified objects.
-
27. The system of claim 18, wherein the score for each of the predicted queries is based on a ranking determined by a typeahead process, wherein the typeahead process identifies one or more matches between one or more n-grams of the partial query input and one or more objects associated with the online social network.
-
28. The system of claim 18, wherein the score for each of the predicted queries is based on a query type of the partial query input.
-
29. The system of claim 18, wherein the score for each of the predicted queries is based on a page of the online social network currently accessed by the first user.
-
30. The system of claim 18, wherein the score for each of the predicted queries is based on a number of characters in the partial query input.
-
31. The system of claim 18, wherein the score for each of the predicted queries is further based on a social-graph affinity associated with the first user with respect to one or more objects associated with the predicted query.
-
32. The system of claim 18, wherein the retrieved search results are displayed on a search-results page of a native application associated with the online social network.
-
33. The system of claim 18, wherein the retrieved search results are displayed on a search-results page of a webpage of the online social network accessed by a browser client.
Specification