1. A method of performing a search, the method comprising: receiving a search query; parsing the search query to identify potential semantic entities to generate a set of tagged keywords for the search query; comparing the set of tagged keywords with a vocabulary to identify semantic entities included in the set of tagged keywords, wherein the vocabulary includes a list of terms used to construct semantic statements that describe relationships between entities described by data associated with an application; based on a comparison match, identifying one or more semantic entities; determining that an application ontology exists for at least one of the one or more identified entities; in response to determining that an application ontology exists, converting a first portion of the search query into a semantic search, wherein the semantic search is formatted based on a format of the associated ontology; determining that an application ontology does not exist for at least one of the one or more identified entities; in response to determining that an application ontology does not exist, converting a second portion of the search query into a non-semantic search; combining, using a hybrid search system, the semantic search and the non-semantic search into a hybrid search; based at least in part on the search query, determining, by the hybrid search system, whether to use only the semantic search, only the non-semantic search, or a combination of both the semantic search and the non-semantic search; and executing the hybrid search using the determined combination of the semantic and the non-semantic search to generate one or more results.