Personalized structured search queries for online social networks
First Claim
1. A method comprising, by one or more computing devices associated with a search engine:
- receiving, at a server of the search engine from a client device associated with a first user of an online social network, a text query comprising one or more character strings;
identifying, by a backend-typeahead process of the search engine, one or more data objects that match at least a portion of one or more of the character strings, wherein each of the identified data objects is a unique entity connected to the first user within the online social network;
identifying, by the backend-typeahead process of the search engine, one or more types of connections that match at least a portion of one or more of the character strings, wherein each of the identified types of connections is a type of connection to the first user or a type of connection to one of the identified data objects within the online social network;
generating, by a recommendation-generating process of the search engine, one or more recommended queries that each comprise the character strings of the text query, references to one or more of the identified data objects, and references to one or more of the identified types of connections; and
sending, from the server of the search engine to the client device associated with the first user in response to receiving the text query, instructions for presenting one or more of the recommended queries that each comprise the character strings of the text query, references to one or more of the identified data objects, and references to one or more of the identified types of connections for display to the first user.
2 Assignments
0 Petitions
Accused Products
Abstract
In particular embodiments, a method includes receiving, from a client device associated with a first user of an online social network, a text query comprising one or more character strings, identifying one or more data objects that match at least a portion of one or more of the character strings, wherein each of the identified data objects is connected to the first user within the online social network, generating one or more recommended queries that each comprise the character strings of the text query and references to one or more of the identified data objects, and sending, to the client device associated with the first user in response to receiving the text query, one or more of the recommended queries for display to the first user.
173 Citations
20 Claims
-
1. A method comprising, by one or more computing devices associated with a search engine:
-
receiving, at a server of the search engine from a client device associated with a first user of an online social network, a text query comprising one or more character strings; identifying, by a backend-typeahead process of the search engine, one or more data objects that match at least a portion of one or more of the character strings, wherein each of the identified data objects is a unique entity connected to the first user within the online social network; identifying, by the backend-typeahead process of the search engine, one or more types of connections that match at least a portion of one or more of the character strings, wherein each of the identified types of connections is a type of connection to the first user or a type of connection to one of the identified data objects within the online social network; generating, by a recommendation-generating process of the search engine, one or more recommended queries that each comprise the character strings of the text query, references to one or more of the identified data objects, and references to one or more of the identified types of connections; and sending, from the server of the search engine to the client device associated with the first user in response to receiving the text query, instructions for presenting one or more of the recommended queries that each comprise the character strings of the text query, references to one or more of the identified data objects, and references to one or more of the identified types of connections for display to the first user.
-
-
2. 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 one or more second nodes corresponding to one or more data objects associated with the online social network, each of the second nodes being within a threshold degree of separation from the first node.
-
-
3. The method of claim 2,
wherein identifying one or more data objects that match at least a portion of one or more of the character strings comprises: -
identifying one or more of the second nodes, each of the identified second nodes corresponding to one or more of the character strings; and wherein identifying one or more types of connections that match at least a portion of one or more of the character strings comprises; identifying one or more of the edges, each of the identified edges being connected to one of the second nodes, and each of the identified edges corresponding to one or more of the character strings.
-
-
4. The method of claim 3, wherein each recommended query comprises references to one or more of the identified nodes and one or more of the identified edges.
-
5. The method of claim 2, wherein the threshold degree of separation is one, two, or three.
-
6. The method of claim 1, further comprising receiving from the first user a selection of one of the recommended queries.
-
7. The method of claim 1, further comprising generating search results corresponding to a selection of one of the recommended queries, each search result comprising a reference to a data object associated with the online social network.
-
8. The method of claim 1, wherein identifying one or more data objects that match at least a portion of one or more of the character strings comprises, for each character string:
-
determining for each data object whether the name string of the data object matches the character string; and identifying each data object that matches the character string.
-
-
9. The method of claim 1, wherein each character string comprises one or more characters of text entered by the first user.
-
10. The method of claim 1, wherein each data object is associated with a structured document.
-
11. The method of claim 1, wherein the text query is received as the first user enters one or more characters of a character string into a graphical user interface at the client system, wherein the graphical user interface comprises a query field in which the character string is entered by the first user.
-
12. The method of claim 11, wherein the graphical user interface is displayed on a user interface of a native application associated with the online social network.
-
13. The method of claim 11, wherein the graphical user interface is displayed on a webpage associated with the online social network accessed by a browser client.
-
14. The method of claim 1, further comprising:
presenting, at the client device, the one or more recommended queries to the first user, wherein, for each recommended query, one or more of the references of the recommended query is highlighted as presented to indicate the reference corresponds to an identified data object.
-
15. The method of claim 1, wherein the text query is received from a third-party system via a call through an application programming interface associated with the online social network from the client device associated with the first user.
-
16. The method of claim 1, wherein
the instructions for presenting one or more of the recommended queries are sent to a third-party system in response to receiving from the third-party system a call through an application programming interface associated with the online social network from the client device associated with the first user.
-
17. The method of claim 1, wherein the text query is received from a third-party system via a communication channel associated with the online social network from the client device associated with the first user.
-
18. The method of claim 1, wherein each identified data object has a name string matching at least a portion of one or more of the character strings, and wherein each recommended query comprises the name strings of one or more of the identified data objects.
-
19. A search engine 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, at a server of the search engine from a client device associated with a first user of an online social network, a text query comprising one or more character strings; identify, by a backend-typeahead process of the search engine, one or more data objects that match at least a portion of one or more of the character strings, wherein each of the identified data objects is a unique entity connected to the first user within the online social network; identify, by the backend-typeahead process of the search engine, one or more types of connections that match at least a portion of one or more of the character strings, wherein each of the identified types of connections is a type of connection to the first user or a type of connection to one of the identified data objects within the online social network; generate, by a recommendation-generating process of the search engine, one or more recommended queries that each comprise the character strings of the text query, references to one or more of the identified data objects, and references to one or more of the identified types of connections; and send, from the server of the search engine to the client device associated with the first user in response to receiving the text query, instructions for presenting one or more of the recommended queries that each comprise the character strings of the text query, references to one or more of the identified data objects, and references to one or more of the identified types of connections for display to the first user.
- one or more processors; and
-
20. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
-
receive, at a server of the search engine from a client device associated with a first user of an online social network, a text query comprising one or more character strings; identify, by a backend-typeahead process of the search engine, one or more data objects that match at least a portion of one or more of the character strings, wherein each of the identified data objects is a unique entity connected to the first user within the online social network; identify, by the backend-typeahead process of the search engine, one or more types of connections that match at least a portion of one or more of the character strings, wherein each of the identified types of connections is a type of connection to the first user or a type of connection to one of the identified data objects within the online social network; generate, by a recommendation-generating process of the search engine, one or more recommended queries that each comprise the character strings of the text query, references to one or more of the identified data objects, and references to one or more of the identified types of connections; and send, from the server of the search engine to the client device associated with the first user in response to receiving the text query, instructions for presenting one or more of the recommended queries that each comprise the character strings of the text query, references to one or more of the identified data objects, and references to one or more of the identified types of connections for display to the first user.
-
Specification