Constructing queries using query filters on online social networks
First Claim
1. A method comprising, by one or more computing devices:
- accessing a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, the nodes comprising;
a first node corresponding to a first user associated with an online social network; and
a plurality of second nodes each corresponding to a plurality of objects, respectively, associated with the online social network, each object being of a particular object-type;
receiving, from a client device of the first user, a first search query comprising a selection of a first query-domain, the first query-domain corresponding to a first object-type;
identifying, responsive to the first search query, a first set of objects of the plurality of objects matching the first object-type, each of the identified objects corresponding to a second node within a threshold degree of separation of the first node;
sending, to the client device of the first user, a first search-results page responsive to the first search query, the first search-results page comprising references to one or more of the identified objects from the first set of objects and one or more query-filter elements, each query-filter element corresponding to a query-filter associated with the first query-domain, wherein each query-filter element is activatable to apply the associated query-filter to the identified objects; and
receiving, from the client device of the first user, a second search query comprising a selection of one or more of the query-filters in response to the first user activating the corresponding query-filter elements.
3 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes receiving a first search query including a selection of a first query-domain. The first query-domain may correspond to a first object-type. The method includes identifying a first set of objects of the plurality of objects matching the first object-type. The method includes sending a first search-results page responsive to the first search query. The first search-results page may include references to one or more of the identified objects from the first set of objects and one or more query-filter elements. Each query-filter element may correspond to a query-filter associated with the first query-domain. Each query-filter element may be activatable to apply the associated query-filter to the identified objects. The method includes receiving a second search query including a selection of one or more of the query-filters in response to the first user activating the corresponding query-filter elements.
-
Citations
20 Claims
-
1. A method comprising, by one or more computing devices:
-
accessing a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, the nodes comprising; a first node corresponding to a first user associated with an online social network; and a plurality of second nodes each corresponding to a plurality of objects, respectively, associated with the online social network, each object being of a particular object-type; receiving, from a client device of the first user, a first search query comprising a selection of a first query-domain, the first query-domain corresponding to a first object-type; identifying, responsive to the first search query, a first set of objects of the plurality of objects matching the first object-type, each of the identified objects corresponding to a second node within a threshold degree of separation of the first node; sending, to the client device of the first user, a first search-results page responsive to the first search query, the first search-results page comprising references to one or more of the identified objects from the first set of objects and one or more query-filter elements, each query-filter element corresponding to a query-filter associated with the first query-domain, wherein each query-filter element is activatable to apply the associated query-filter to the identified objects; and receiving, from the client device of the first user, a second search query comprising a selection of one or more of the query-filters in response to the first user activating the corresponding query-filter elements.
-
-
2. The method of claim 1, further comprising:
sending, to the client device of the first user, a query-initiation page responsive to a selection of a query field by the first user, the query-initiation page comprising one or more query-domain elements corresponding to one or more query-domains, respectively, wherein each query-domain element is activatable to generate a search query comprising a selection of the associated query-domain.
-
3. The method of claim 2, wherein receiving the first search query comprises receiving an indication the first user has activated a first query-domain element corresponding to the first query-domain.
-
4. The method of claim 1, wherein the first search-results page further comprises an additional-filters element, wherein the additional-filters element is activatable to generate a user interface comprising the one or more query-filter elements of the first search-results page and one or more additional query-filter elements, each query-filter element corresponding to a query-filter associated with the first query-domain, wherein each query-filter element is activatable to apply the associated query-filter to the identified objects.
-
5. The method of claim 1, wherein the threshold degree of separation is one, two, three, or all.
-
6. The method of claim 1, further comprising:
-
identifying, responsive to the second search query, a second set of objects of the plurality of objects matching the first object-type and the selected query-filters; and sending, to the client device of the first user, a second search-results page responsive to the second search query, the second search-results page comprising references to one or more of the identified objects from the second set of objects.
-
-
7. The method of claim 6, wherein the second search-results page further comprises one or more query-filter elements, each query-filter element corresponding to a query-filter associated with the first query-domain, wherein each query-filter element is activatable to apply the associated query-filter to the identified objects.
-
8. The method of claim 1, wherein the first object-type is selected from a group consisting of:
- users, photos, posts, pages, applications, events, locations, or user groups.
-
9. The method of claim 1, wherein identifying a first set of objects of the plurality of objects matching the first object-type comprises searching a vertical storing a plurality of objects of the first object-type to identify a plurality of objects in the vertical that correspond to a second node within a threshold degree of separation of the first node.
-
10. The method of claim 9, wherein the vertical is one of a plurality of verticals, and wherein each vertical of the plurality of verticals stores objects of a particular object-type, the particular object-type being selected form a group consisting of:
- users, photos, posts, pages, applications, events, locations, or user groups.
-
11. The method of claim 1, wherein the method further comprises sending, to the client device of the first user and responsive to a selection of a query-filter element, a sub-filter page, the sub-filter page comprising one or more sub-filter elements, each sub-filter element corresponding to a sub-filter associated with the query filter.
-
12. The method of claim 1, wherein the method further comprises sending, to the client device of the first user and responsive to a selection of a query-filter element, a sub-filter page comprising a query field.
-
13. The method of claim 12, further comprising:
-
receiving, from the client device of the first user, and text string inputted into the query field; and identifying one or more second nodes matching the text string.
-
-
14. The method of claim 13, further comprising:
-
sending, to the client device of the first user, a user interface comprising additional query-filter elements, each additional query-filter element corresponding to one of the identified second nodes matching the text string; and receiving, from the client device of the first user, a third search query comprising a selection of one or more of the identified second nodes in response to the first user activating the corresponding additional query-filter elements.
-
-
15. The method of claim 1, further comprising:
-
generating a structured query based on the second search query, wherein the structured query comprises references to one or more selected nodes from the plurality of second nodes and one or more selected edges from the plurality of edges, each selected node and selected edge corresponding to one or more of the first query-domain or the one or more query-filters of the second search query; and sending, to the client device of the first user, the structured query for display to the first user.
-
-
16. The method of claim 1, wherein the structured query is based on a natural-language string generated by a grammar model.
-
17. The method of claim 1, wherein the search-results page is a user interface of a native application associated with the online social network on the client system of the first user.
-
18. The method of claim 1, wherein the search-results page is a webpage of the online social network accessed by a browser client of the client system of the first user.
-
19. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
-
access a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, the nodes comprising; a first node corresponding to a first user associated with an online social network; and a plurality of second nodes each corresponding to a plurality of objects, respectively, associated with the online social network, each object being of a particular object-type; receive, from a client device of the first user, a first search query comprising a selection of a first query-domain, the first query-domain corresponding to a first object-type; identify, responsive to the first search query, a first set of objects of the plurality of objects matching the first object-type, each of the identified objects corresponding to a second node within a threshold degree of separation of the first node; send, to the client device of the first user, a first search-results page responsive to the first search query, the first search-results page comprising references to one or more of the identified objects from the first set of objects and one or more query-filter elements, each query-filter element corresponding to a query-filter associated with the first query-domain, wherein each query-filter element is activatable to apply the associated query-filter to the identified objects; and receive, from the client device of the first user, a second search query comprising a selection of one or more of the query-filters in response to the first user activating the corresponding query-filter elements.
-
-
20. A system comprising:
- one or more processors; and
a memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to;access a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, the nodes comprising; a first node corresponding to a first user associated with an online social network; and a plurality of second nodes each corresponding to a plurality of objects, respectively, associated with the online social network, each object being of a particular object-type; receive, from a client device of the first user, a first search query comprising a selection of a first query-domain, the first query-domain corresponding to a first object-type; identify, responsive to the first search query, a first set of objects of the plurality of objects matching the first object-type, each of the identified objects corresponding to a second node within a threshold degree of separation of the first node; send, to the client device of the first user, a first search-results page responsive to the first search query, the first search-results page comprising references to one or more of the identified objects from the first set of objects and one or more query-filter elements, each query-filter element corresponding to a query-filter associated with the first query-domain, wherein each query-filter element is activatable to apply the associated query-filter to the identified objects; and receive, from the client device of the first user, a second search query comprising a selection of one or more of the query-filters in response to the first user activating the corresponding query-filter elements.
- one or more processors; and
Specification