Static rankings for search queries on online social networks
First Claim
1. A method comprising, by one or more computing devices:
- receiving, from a client system of a first user of an online social network, an indication that the first user has interacted with a first object on the online social network, wherein the first object comprises one or more n-grams;
identifying a list of second objects from one or more data stores, each second object matching one or more of the n-grams from the first object, each data store storing a plurality of objects of a particular object-type of a plurality of object-types, wherein each second object is identified based at least in part on a predetermined static-rank of the second object;
calculating a final-rank for each of the identified second objects based on a final-scoring algorithm; and
determining one or more revised static-ranks for one or more of the identified second objects based on a comparison of the final-ranks and the static-ranks of the identified second objects, wherein the static-rank are revise, for each of the one or more of the identified second objects, in order to reduce a difference between the static-rank of the identified second object and the final-rank of the identified second object.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes receiving an indication that a first user has interacted with a first object within a newsfeed of an online social network, the first object including one or more n-grams, and identifying a list of second objects from one or more data stores, each second object matching one or more of the n-grams from the first object and being identified based at least in part on a predetermined static-rank of the second object. The method also includes calculating a final-rank for each of the identified second objects and determining one or more revised static-ranks for one or more of the identified second objects based on a comparison of the final-ranks and the static-ranks of the identified second objects.
83 Citations
19 Claims
-
1. A method comprising, by one or more computing devices:
-
receiving, from a client system of a first user of an online social network, an indication that the first user has interacted with a first object on the online social network, wherein the first object comprises one or more n-grams; identifying a list of second objects from one or more data stores, each second object matching one or more of the n-grams from the first object, each data store storing a plurality of objects of a particular object-type of a plurality of object-types, wherein each second object is identified based at least in part on a predetermined static-rank of the second object; calculating a final-rank for each of the identified second objects based on a final-scoring algorithm; and determining one or more revised static-ranks for one or more of the identified second objects based on a comparison of the final-ranks and the static-ranks of the identified second objects, wherein the static-rank are revise, for each of the one or more of the identified second objects, in order to reduce a difference between the static-rank of the identified second object and the final-rank of the identified second object.
-
-
2. The method of claim 1, wherein the pre-determined static-rank for each second object is calculated based on a static-scoring algorithm.
-
3. The method of claim 2, further comprising:
revising the static-scoring algorithm based on the comparison of the final-ranks and the static-ranks of the identified second objects.
-
4. The method of claim 3, further comprising:
calculating one or more static-ranks for one or more third objects in one or more of the data stores based on the revised static-scoring algorithm.
-
5. The method of claim 2, wherein the pre-determined static-rank of each second object is based on a pre-determined static-score of the second object calculated based on the static-scoring algorithm.
-
6. The method of claim 1, wherein the first object is of a first object-type of a plurality of object-types.
-
7. The method of claim 6, wherein each second object is of the first object-type.
-
8. The method of claim 7, wherein identifying the list of second objects from the one or more data stores comprises:
-
accessing one or more data stores storing objects of the first object-type; and identifying one or more objects from the accessed data stores that comprise n-grams matching one or more of the n-grams of the first object.
-
-
9. 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 of the online social network; and a plurality of second nodes corresponding to a plurality of objects associated with the online social network, respectively; wherein the first object corresponds to a particular second node of the plurality of second nodes, and wherein each of the identified second objects corresponds to a particular second node of the plurality of second nodes.
-
-
10. The method of claim 1, wherein identifying the list of second objects comprises:
-
retrieving, from each data store, a specified number of objects matching one or more of the n-grams from the first object, wherein the specified number of objects for each data store is based on the object-type of the objects stored by the data store; and aggregating the retrieved objects from the one or more data stores.
-
-
11. The method of claim 10, further comprising:
revising one or more of the specified numbers of objects for one or more of the data stores, respectively, based at least in part on the comparison of the final-ranks and the static-ranks of the identified second objects.
-
12. The method of claim 1, wherein each object-type of the plurality of object-types is selected from a group consisting of:
- a user, a photo, a post, a webpage, an application, a location, and a user group.
-
13. The method of claim 1, wherein each data store of the one or more data stores is selected from a group consisting of:
- a users data store, a photos data store, a posts data store, a webpages data store, an applications data store, a locations data store, and a user-groups data store.
-
14. The method of claim 1, wherein the final-rank of each second object is based on a final-score of the second object calculated based on the final-scoring algorithm.
-
15. 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 of an online social network, an indication that the first user has interacted with a first object on the online social network, wherein the first object comprises one or more n-grams; identify a list of second objects from one or more data stores, each second object matching one or more of the n-grams from the first object, each data store storing a plurality of a particular object-type of a plurality of object-types, wherein each second object is identified based at least in part on a predetermined static-rank of the second object; calculate a final-rank for each of the identified second objects based on a final-scoring algorithm; and determine one or more revised static-ranks for one or more of the identified second objects based on a comparison of the final-ranks and the static-ranks of the identified second objects wherein the static-ranks are revised, for each of the one or more of the identified second objects in order to reduce a difference between the static-rank of the identified second object and the final-rank of the identified second object.
-
-
16. The media of claim 15, wherein the pre-determined static-rank for each second object is calculated based on a static-scoring algorithm.
-
17. The media of claim 16, wherein the software is further operable when executed to:
revise the static-scoring algorithm based on the comparison of the final-ranks and the static-ranks of the identified second objects.
-
18. The media of claim 17, wherein the software is further operable when executed to:
calculate one or more static-ranks for one or more third objects in one or more of the data stores based on the revised static-scoring algorithm.
-
19. 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 of an online social network, an indication that the first user has interacted with a first object on the online social network, wherein the first object comprises one or more n-grams; identify a list of second objects from one or more data stores, each second object matching one or more of the n-grams from the first object, each data store storing a plurality of objects of a particular object-type of a plurality of object-types, wherein each second object is identified based at least in part on a predetermined static-rank of the second object; calculate a final-rank for each of the identified second objects based on a final-scoring algorithm; and determine one or more revised static-ranks for one or more of the identified second objects based on a comparison of the final-ranks and the static-ranks of the identified second objects, wherein the static-ranks are revised, for each of the one or more of the identified second objects, in order to reduce a difference between the static-rank of the identified second object and the final-rank of the identified second object.
- one or more processors; and
Specification