1. A method comprising: receiving, at a computing device, 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, via the computing device, 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, via the computing device, the offline phase in accordance with the cluster of computing devices of the cloud to build one or more indexes; executing, via the computing device, 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, via the computing device, 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.