Search query interactions
First Claim
1. A method comprising:
- receiving, from a client system of a first user, a query comprising one or more n-grams;
parsing the one or more n-grams of the query to generate a query command, wherein the query command comprises an inner query constraint and an outer query constraint;
identifying from a plurality of objects based on the query command;
a first set of objects matching the inner query constraint and at least in part matching the outer query constraint; and
a second set of objects matching the outer query constraint; and
generating one or more search results based on the first and second sets of objects, wherein each search result corresponds to an object of the plurality of objects.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes receiving, from a client system of a first user, a query comprising one or more n-grams, parsing the one or more n-grams of the query to generate a query command, wherein the query command comprises an inner query constraint and an outer query constraint, identifying from a plurality of objects based on the query command (1) a first set of objects matching the inner query constraint and at least in part matching the outer query constraint, and (2) a second set of objects matching the outer query constraint, and generating one or more search results based on the first and second sets of objects, wherein each search result corresponds to an object of the plurality of objects.
-
Citations
20 Claims
-
1. A method comprising:
-
receiving, from a client system of a first user, a query comprising one or more n-grams; parsing the one or more n-grams of the query to generate a query command, wherein the query command comprises an inner query constraint and an outer query constraint; identifying from a plurality of objects based on the query command; a first set of objects matching the inner query constraint and at least in part matching the outer query constraint; and a second set of objects matching the outer query constraint; and generating one or more search results based on the first and second sets of objects, wherein each search result corresponds to an object of the plurality of objects.
-
-
2. The method of claim 1, further comprising:
sending, to the client system, one or more of the search results for display to the first user.
-
3. The method of claim 1, wherein the inner query constraint is for a first object-type and the outer query constraint is for a second object-type, and wherein the first object-type and the second object-type are each selected from a group consisting of:
- a user, a photo, a post, a webpage, an application, a location, and a user group.
-
4. The method of claim 1, further comprising:
-
scoring the first set of objects; and scoring the second set of objects based at least in part on the scores of the first set of objects.
-
-
5. The method of claim 1, wherein identifying the first set of objects matching the inner query constraint and at least in part matching the outer query constraint comprises:
-
identifying a first number of objects matching at least the inner query constraint; and identifying a second number of objects matching both the inner query constraint and the outer query constraint.
-
-
6. The method of claim 1, wherein identifying the first set of objects matching the inner query constraint and at least in part matching the outer query constraint comprises:
-
identifying a first number of objects matching either the inner query constraint or the outer query constraint; and identifying a second number of objects matching both the inner query constraint and the outer query constraint.
-
-
7. The method of claim 1, further comprising determining one or more search intents of the query based at least on whether one or more of the n-grams in the query match terms corresponding to a search intent indexed in a pattern-detection model.
-
8. The method of claim 7, further comprising scoring the search results based on one or more of the search intents.
-
9. The method of claim 8, wherein the one or more search intents comprise an intent to exclude converse search results.
-
10. The method of claim 8, wherein the one or more search intents comprise an intent to exclude inner search results, and wherein scoring the search results comprises downgrading the score of each search result corresponding to at least one of the objects of the first set of objects.
-
11. The method of claim 8, wherein the one or more search intents comprise an intent to exclude duplicate search results, and wherein scoring the search results comprises downgrading the score of each search result corresponding to an object that matches both the inner query constraint and the outer query constraint.
-
12. The method of claim 7, wherein one or more of the inner query constraint or the outer query constraint is based on one or more of the search intents.
-
13. The method of claim 1, wherein the one or more search results correspond to one or more objects of the second set of objects matching the outer query constraint, each search result corresponding to a second object that is related by a constraint of the query command to at least one object of the first set of objects matching the inner query constraint.
-
14. The method of claim 1, wherein the inner query constraint is nested in the outer query constraint.
-
15. The method of claim 1, wherein the query is a structured query comprising references to one or more selected objects accessible by the computing device.
-
16. The method of claim 1, wherein the query is a text string.
-
17. 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 corresponding to the plurality of objects, respectively.
-
18. The method of claim 17, wherein the query comprises references to one or more selected nodes from the plurality of nodes and one or more selected edges from the plurality of edges, and wherein:
-
the inner query constraint is for one or more nodes of the plurality of nodes connected to a first of the selected nodes by a first of the selected edges; and the outer query constraint is for one or more nodes of the plurality of nodes connected to a second of the selected nodes by a second of the selected edges.
-
-
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 query comprising one or more n-grams; parse the one or more n-grams of the query to generate a query command, wherein the query command comprises an inner query constraint and an outer query constraint; identify from a plurality of objects based on the query command; a first set of objects matching the inner query constraint and at least in part matching the outer query constraint; and a second set of objects matching the outer query constraint; and generate one or more search results based on the first and second sets of objects, wherein each search result corresponds to an object of the plurality of objects.
-
-
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 query comprising one or more n-grams; parse the one or more n-grams of the query to generate a query command, wherein the query command comprises an inner query constraint and an outer query constraint; identify from a plurality of objects based on the query command; a first set of objects matching the inner query constraint and at least in part matching the outer query constraint; and a second set of objects matching the outer query constraint; and generate one or more search results based on the first and second sets of objects, wherein each search result corresponds to an object of the plurality of objects.
- one or more processors; and
Specification