Blending Search Results on Online Social Networks
First Claim
1. A method comprising, by one or more computing devices:
- receiving a search query from a first user of an online social network;
searching a plurality of verticals to identify a plurality of sets of objects in each vertical, respectively, that match the search query, and wherein each vertical stores one or more objects associated with the online social network;
ranking, for each set of identified objects from a vertical, each identified object in the set of identified objects;
blending the plurality of sets of identified objects from each vertical to form a set of blended search results comprising a threshold number of identified objects, the blending comprising an iterative process performed at least the threshold number of iterations, each iteration of the iterative blending process comprising;
determining a blender score for each top-ranked identified object in each set of identified objects; and
for the top-ranked identified object having a highest blender score;
adding the object to the set of blended search results;
removing the object from its particular set of identified objects; and
promoting a second-ranked identified object from the particular set of identified objects to the top-ranked identified object of the particular set of identified objects; and
sending, responsive to the search query, the set of blended search results to the first user for display.
2 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes receiving a search query from a user of an online social network and searching multiple verticals to identify multiple sets of objects in each vertical, respectively, that match the search query, and wherein each vertical stores one or more objects associated with the online social network. The method also includes ranking, for each set of identified objects from a vertical, each identified object in the set of identified objects. The method further includes blending the multiple sets of identified objects from each vertical to form a set of blended search results that includes a threshold number of identified objects, the blending including an iterative process performed at least the threshold number of iterations. Each iteration of the iterative blending process includes determining a blender score for each top-ranked identified object in each set of identified objects.
-
Citations
20 Claims
-
1. A method comprising, by one or more computing devices:
-
receiving a search query from a first user of an online social network; searching a plurality of verticals to identify a plurality of sets of objects in each vertical, respectively, that match the search query, and wherein each vertical stores one or more objects associated with the online social network; ranking, for each set of identified objects from a vertical, each identified object in the set of identified objects; blending the plurality of sets of identified objects from each vertical to form a set of blended search results comprising a threshold number of identified objects, the blending comprising an iterative process performed at least the threshold number of iterations, each iteration of the iterative blending process comprising; determining a blender score for each top-ranked identified object in each set of identified objects; and for the top-ranked identified object having a highest blender score; adding the object to the set of blended search results; removing the object from its particular set of identified objects; and promoting a second-ranked identified object from the particular set of identified objects to the top-ranked identified object of the particular set of identified objects; and sending, responsive to the search query, the set of blended search results to the first user for display. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
-
receive a search query from a first user of an online social network; search a plurality of verticals to identify a plurality of sets of objects in each vertical, respectively, that match the search query, and wherein each vertical stores one or more objects associated with the online social network; rank, for each set of identified objects from a vertical, each identified object in the set of identified objects; blend the plurality of sets of identified objects from each vertical to form a set of blended search results comprising a threshold number of identified objects, the blending comprising an iterative process performed at least the threshold number of iterations, each iteration of the iterative blending process comprising; determining a blender score for each top-ranked identified object in each set of identified objects; and for the top-ranked identified object having a highest blender score; adding the object to the set of blended search results; removing the object from its particular set of identified objects; and promoting a second-ranked identified object from the particular set of identified objects to the top-ranked identified object of the particular set of identified objects; and send, responsive to the search query, the set of blended search results to the first user for display.
-
-
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 a search query from a first user of an online social network; search a plurality of verticals to identify a plurality of sets of objects in each vertical, respectively, that match the search query, and wherein each vertical stores one or more objects associated with the online social network; rank, for each set of identified objects from a vertical, each identified object in the set of identified objects; blend the plurality of sets of identified objects from each vertical to form a set of blended search results comprising a threshold number of identified objects, the blending comprising an iterative process performed at least the threshold number of iterations, each iteration of the iterative blending process comprising; determining a blender score for each top-ranked identified object in each set of identified objects; and for the top-ranked identified object having a highest blender score; adding the object to the set of blended search results; removing the object from its particular set of identified objects; and promoting a second-ranked identified object from the particular set of identified objects to the top-ranked identified object of the particular set of identified objects; and send, responsive to the search query, the set of blended search results to the first user for display.
- one or more processors; and
Specification