1. A method for searching semistructured data comprising: determining an object type to be searched; accessing an object type definition for the object type; providing a user interface to a user via a display device based on the object type definition for the object type, wherein the object type definition specifies a set of attributes representing metadata for data objects instantiated according to the object type, wherein the user interface allows the user to specify search criteria associated with the metadata; mapping the user search criteria to a query, wherein the query comprises at least one structured query constraint and at least one unstructured query constraint; processing the query to search a set of metadata for a set of data objects instantiated based on the object type according to the query, wherein each data object comprises semistructured data; and returning a set of results to the user over a network connection as a report based on user specified reporting parameters.