21. A computer-program product, tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause a data processing apparatus to: receive a structured query in a structured query language; determine a schema that defines a structure for unstructured data, wherein the schema identifies a plurality of fields in the unstructured data; conduct a pilot query on the unstructured data, wherein the pilot query is conducted using the schema, and wherein conducting the pilot query identifies one or more fields in the unstructured data; convert the structured query in the structured query language into an unstructured query in an unstructured query language, wherein the conversion is done using the one or more fields identified by conducting the pilot query, and wherein the unstructured query is used to access the unstructured data; conduct a search on the unstructured data using the unstructured query; cache the one or more fields identified by conducting the pilot query; conduct a new pilot query on the unstructured data, wherein conducting the new pilot query identifies one or more new fields in the unstructured data; and merge the one or more cached fields with the one or more new fields.
23. The computer-program product of claim 21 , wherein the pilot query is conducted upon receiving the structured query.