Database Sharding with Incorporated Updates
First Claim
1. A method comprising:
- by one or more computing devices, receiving an update of activity associated with one or more content objects associated with a search term, the content objects associated with the search term being indexed on one or more index servers or a term server, the term server comprising a list of identifier information of one or more content object types, each index server comprising a list identifier information of a single content object type;
by one or more computing devices, determining whether the search term has a number of associated content objects exceeding a pre-determined threshold number; and
by one or more computing devices, modifying the list associated with the search term of a term server or one or more of the index servers based at least in part on the determination and in response to the update.
3 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes receiving an update of activity associated with one or more content objects associated with a search term. The content objects associated with the search term are indexed on a list of one or more index servers or a term server. The list of the term server include identifier information of one or more content object types. The list of the index servers include identifier information of a single content object type. The method also includes determining whether the search term has a number of associated content objects exceeding a pre-determined threshold number; and modifying the list associated with the search term of a term server or one or more of the index servers based at least in part on the determination and in response to the update.
7 Citations
20 Claims
-
1. A method comprising:
-
by one or more computing devices, receiving an update of activity associated with one or more content objects associated with a search term, the content objects associated with the search term being indexed on one or more index servers or a term server, the term server comprising a list of identifier information of one or more content object types, each index server comprising a list identifier information of a single content object type; by one or more computing devices, determining whether the search term has a number of associated content objects exceeding a pre-determined threshold number; and by one or more computing devices, modifying the list associated with the search term of a term server or one or more of the index servers based at least in part on the determination and in response to the update.
-
-
2. The method of claim 1, wherein each list comprises a base layer and an update layer, identifier information of the base layer being updated at a pre-determined interval, identifier information of the update layer being updated prior to the pre-determined interval.
-
3. The method of claim 2, wherein the modification comprises, by one or more computing devices, adding identifier information of the content object associated with the activity to the update layer of the list of one or more of the index servers associated with the search term based at least in part on the number of content objects associated with the search term exceeding the pre-determined threshold number.
-
4. The method of claim 2, wherein the modification comprises, by one or more computing devices, adding identifier information of the content object associated with the activity to the update layer of the list of the term server associated with the search term based at least in part on the number of content objects associated with the search term being less than the pre-determined threshold number.
-
5. The method of claim 1, further comprises, by one or more computing devices, providing an indication to the term and index servers that the content object associated with the activity is no longer associated with the search term in response to the activity deleting the content object.
-
6. The method of claim 1, further comprises, by one or more computing devices, generating a new list associated with a new search term on a particular term server in response to the new search term being added to a search index.
-
7. The method of claim 1, further comprises:
-
by one or more computing devices, receiving a search query comprising the search term and the other search term; by one or more computing devices, accessing the list of the term server or one or more index servers associated with the search term and the other search term based at least in part on the determination; by one or more computing devices, determining one or more search results based at least in part on an intersection of the identifier information of one or more lists associated with the search term and one or more list associated with the other search term; and by one or more computing device, providing for presentation one or more content objects corresponding to the search results of the search query.
-
-
8. The method of claim 1, further comprising:
-
by one or more computing devices, generating a list associated with the search term on one or more index servers in response to the number content objects associated with the search term exceeding the pre-determined threshold number due to the update; and
by one or more computing devices, populating the list of one or more of the index servers associated with the other search term with identifier information of one or more content objects indexed by a term server; andby one or more computing device, deleting the search term and a list associated with the search term from of the term server.
-
-
9. One or more computer-readable non-transitory storage media embodying software configured when executed to:
-
receive an update of activity associated with one or more content objects associated with a search term, the content objects associated with the search term being indexed on one or more index servers or a term server, the term server comprising a list of identifier information of one or more content object types, each index server comprising a list identifier information of a single content object type; determine whether the search term has a number of associated content objects exceeding a pre-determined threshold number; and modify the list associated with the search term of a term server or one or more of the index servers based at least in part on the determination and in response to the update.
-
-
10. The media of claim 9, wherein each list comprises a base layer and an update layer, identifier information of the base layer being updated at a pre-determined interval, identifier information of the update layer being updated prior to the pre-determined interval.
-
11. The media of claim 10, wherein the software is further configured to add identifier information of the content object associated with the activity to the update layer of the list of one or more of the index servers associated with the search term based at least in part on the number of content objects associated with the search term exceeding the pre-determined threshold number.
-
12. The media of claim 10, wherein the software is further configured to add identifier information of the content object associated with the activity to the update layer of the list of the term server associated with the search term based at least in part on the number of content objects associated with the search term being less than the pre-determined threshold number.
-
13. The media of claim 9, wherein the software is further configured to provide an indication to the term and index servers that the content object associated with the activity is no longer associated with the search term in response to the activity deleting the content object.
-
14. The media of claim 9, wherein the software is further configured to generate a new list associated with a new search term on a particular term server in response to the new search term being added to a search index.
-
15. The media of claim 9, wherein the software is further configured to:
-
receive a search query comprising the search term and other search term; access the list of the term server or one or more index servers associated with the search term and the other search term based at least in part on the determination; determine one or more search results based at least in part on an intersection of the identifier information of one or more lists associated with the search term and one or more list associated with the other search term; and provide for presentation one or more content objects corresponding to the search results of the search query.
-
-
16. The media of claim 9, wherein the software is further configured to:
-
generate a list associated with the search term on one or more index servers in response to the number content objects associated with the search term exceeding the pre-determined threshold number due to the update; and populate the list of one or more of the index servers associated with the other search term with identifier information of one or more content objects indexed by a term server; and delete the search term and a list associated with the search term from of the term server.
-
-
17. A device comprising:
-
a processor; and one or more computer-readable non-transitory storage media coupled to the processor and embodying software that; receive an update of activity associated with one or more content objects associated with a search term, the content objects associated with the search term being indexed on one or more index servers or a term server, the term server comprising a list of identifier information of one or more content object types, each index server comprising a list identifier information of a single content object type; determine whether the search term has a number of associated content objects exceeding a pre-determined threshold number; and modify the list associated with the search term of a term server or one or more of the index servers based at least in part on the determination and in response to the update.
-
-
18. The device of claim 17, wherein each list comprises a base layer and an update layer, identifier information of the base layer being updated at a pre-determined interval, identifier information of the update layer being updated prior to the pre-determined interval.
-
19. The device of claim 18, wherein the software is further configured to add identifier information of the content object associated with the activity to the update layer of the list of one or more of the index servers associated with the search term based at least in part on the number of content objects associated with the search term exceeding the pre-determined threshold number.
-
20. The device of claim 18, wherein the software is further configured to add identifier information of the content object associated with the activity to the update layer of the list of the term server associated with the search term based at least in part on the number of content objects associated with the search term being less than the pre-determined threshold number.
Specification