1. A system for finding data objects corresponding to a user query, comprising: non-transitory data storage means storing a set of data objects, each data object in the set of data objects comprising unstructured data and a metadata structure as ascribed by an object type definition; a search formation engine configured to, based on a selected object type, present a user interface on a device associated with a user, the device being communicatively connected to the system over a network connection, the user interface comprising query options for the user to formulate a query on the selected object type, the query options comprising a structured query constraint and an unstructured query constraint, the search formation engine being further configured to combine the structured query constraint and the unstructured query constraint; and an information retrieval engine configured to process the query from the search formation engine and return data objects that correspond to the query, the data objects being from the set of data objects.