9. The system of claim 8 , wherein the system is further configured for at least one of: determining that the one or more indexes are too big to fit in the client computer; and negotiating with a user to get properly sized indexes.
8. A system comprising: a plurality of processors; receiving, by at least one of said processors, a query template comprising a request for web pages from a data set that resides in a cloud comprising a cluster of computing devices; optimizing, by at least one of said processors, the query template to segment the query template into an offline phase and an online phase, the offline phase comprising a query segment with no parameters, the online phase comprising a query segment with parameters; executing, by at least one of said processors, the offline phase in accordance with the cluster of computing devices of the cloud to build one or more indexes; executing, by at least one of said processors, the online phase in accordance with a client computer, wherein the building of the index is based on a space constraint associated with the client computer; sending, by at least one of said processors, the one or more indexes based on the space constraint to the client computer; providing a versioning of a query template to help a user backtrack to correct a mistake; receiving a request to correct the mistake; and returning to a previous version of the query template.