Variable search query vertical access
First Claim
1. A method comprising, by one or more computing devices:
- receiving, from a client system of a first user, a search query input comprising a character string having a first number of characters;
searching, by the one or more computing devices, one or more indexes of one or more verticals, respectively, to identify terms corresponding to the search query input, each index comprising terms associated with objects of a particular object-type of a plurality of object-types indexed by the one or more verticals, wherein;
if the first number is less than or equal to a first threshold number, then searching one or more first indexes, wherein each first index is related to objects of a first object-type; and
if the first number is greater than the first threshold number, then searching the one or more first indexes and one or more second indexes, wherein each second index is related to objects of a second object-type different than the first object-type; and
sending, to the client system of the first user, instructions for presenting one or more suggested queries, each suggested query comprising the character string of the search query input and one or more of the identified terms.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes receiving a search query input comprising a character string having a first number of characters; searching one or more indexes of one or more verticals to identify terms corresponding to the search query input, wherein if the first number is less than or equal to a threshold number, then searching one or more first indexes, wherein each first index is related to objects of a first object-type, and if the first number is greater than the threshold number, then searching the one or more first indexes and one or more second indexes, wherein each second index is related to objects of a second object-type different than the first object-type; and sending instructions for presenting one or more suggested queries, each suggested query comprising the character string of the search query input and one or more of the identified terms.
225 Citations
20 Claims
-
1. A method comprising, by one or more computing devices:
-
receiving, from a client system of a first user, a search query input comprising a character string having a first number of characters; searching, by the one or more computing devices, one or more indexes of one or more verticals, respectively, to identify terms corresponding to the search query input, each index comprising terms associated with objects of a particular object-type of a plurality of object-types indexed by the one or more verticals, wherein; if the first number is less than or equal to a first threshold number, then searching one or more first indexes, wherein each first index is related to objects of a first object-type; and if the first number is greater than the first threshold number, then searching the one or more first indexes and one or more second indexes, wherein each second index is related to objects of a second object-type different than the first object-type; and sending, to the client system of the first user, instructions for presenting one or more suggested queries, each suggested query comprising the character string of the search query input and one or more of the identified terms.
-
-
2. The method of claim 1, wherein searching the one or more indexes of the one or more verticals further comprises:
if the first number is greater than a second threshold number, then searching the one or more first indexes, the one or more second indexes, and one or more third indexes, wherein each third index is related to objects of a third object-type different than the first object-type and the second object-type, and wherein the second threshold number is greater than the first threshold number.
-
3. The method of claim 2, wherein:
-
the first threshold number is one, two, three, four, or five characters; and the second threshold number is at least one character greater than the first threshold number.
-
-
4. The method of claim 2, wherein the first, second, and third object-types are each selected from a group consisting of:
-
a user; a photo; a post; a comment; a message; an event listing; a webpage; an application; a location; a user-profile page; a concept-profile page; a user group; an audio file; a video; an offer;
ora coupon.
-
-
5. The method of claim 1, wherein the one or more indexes are hosted by a plurality of index servers, wherein each index server is associated with one of the one or more verticals, and wherein each vertical stores objects of one of the plurality of object-types.
-
6. The method of claim 1, wherein the search query input is received from the first user through a query filed, and wherein the suggested queries are displayed to the first user in a drop-down menu associated with the query field while the first user inputs characters into the query field.
-
7. The method of claim 6, wherein the suggested queries are ranked and a threshold number of top ranking suggested queries are displayed to the first user.
-
8. The method of claim 7, wherein the suggested queries are ranked based on a plurality of factors comprising:
-
a social-graph affinity of users associated with one or more matching objects with respect to the first user; a first match to the search query input; a second match to one or more query constraints; first relative degrees of relevance to the search query input; second relative degrees of relevance to the first user;
ora search history.
-
-
9. The method of claim 7, wherein the top ranking suggested queries are ranked in one or more rounds of ranking.
-
10. The method of claim 9, wherein the top ranking suggested queries are sent to an aggregator for a final round of ranking before being displayed to the first user.
-
11. The method of claim 6, wherein the query field is auto-populated with one of the suggested queries.
-
12. The method of claim 6, wherein the query field is on a web browser on the client system of the first user.
-
13. The method of claim 6, wherein the suggested queries comprise one or more elements associated with the identified terms for one or more matching objects, wherein the elements comprise one or more of:
-
a name string; a description; a metadata; a link to a webpage; a reference to the matching objects; a Uniform Resource Locators (URLs) for the matching objects, or a mechanisms for retrieving the Uniform Resource Locators (URLs).
-
-
14. The method of claim 13, wherein the matching objects comprise one or more of:
-
a profile page; a user node; a concept node; a social-graph element; an external webpage;
oran object of the plurality of object-types.
-
-
15. The method of claim 1, wherein the search query input is received by a client-side frontend typeahead process, and wherein the searching the one or more indexes of the one or more vertical is performed by a server-side backend typeahead process.
-
16. The method of claim 1, further comprising:
-
receiving, from the client system of the first user, an indication of a selection of one of the suggested queries; searching the one or more verticals for one or more matching objects; and sending, to the client system of the first user, the one or more matching objects corresponding to the selection of the suggested queries of the first user.
-
-
17. The method of claim 1, further comprising:
-
searching 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, the nodes comprising; a first node corresponding to the first user; and a plurality of second nodes corresponding to a plurality of objects associated with an online social network, respectively.
-
-
18. The method of claim 1, wherein searching the one or more indexes of the one or more verticals further comprises:
-
if the first number is less than or equal to the first threshold number, then searching the one or more first indexes associated with a social graph to identify one or more second nodes within one degree of separation of a first node corresponding to the first user; and if the first number is greater than the first threshold number, then searching the one or more first indexes associated with the social graph to identify one or more second nodes within two degrees of separation of the first node corresponding to the first user.
-
-
19. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
-
receive, from a client system of a first user, a search query input comprising a character string having a first number of characters; search, by the one or more computing devices, one or more indexes of one or more verticals, respectively, to identify terms corresponding to the search query input, each index comprising terms associated with objects of a particular object-type of a plurality of object-types indexed by the one or more verticals, wherein; if the first number is less than or equal to a first threshold number, then search one or more first indexes, wherein each first index is related to objects of a first object-type; and if the first number is greater than the first threshold number, then search the one or more first indexes and one or more second indexes, wherein each second index is related to objects of a second object-type different than the first object-type; and send, to the client system of the first user, instructions for presenting one or more suggested queries, each suggested query comprising the character string of the search query input and one or more of the identified terms.
-
-
20. 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 client system of a first user, a search query input comprising a character string having a first number of characters; search, by the one or more computing devices, one or more indexes of one or more verticals, respectively, to identify terms corresponding to the search query input, each index comprising terms associated with objects of a particular object-type of a plurality of object-types indexed by the one or more verticals, wherein; if the first number is less than or equal to a first threshold number, then search one or more first indexes, wherein each first index is related to objects of a first object-type; and if the first number is greater than the first threshold number, then search the one or more first indexes and one or more second indexes, wherein each second index is related to objects of a second object-type different than the first object-type; and send, to the client system of the first user, instructions for presenting one or more suggested queries, each suggested query comprising the character string of the search query input and one or more of the identified terms.
- one or more processors; and
Specification