22. A computer system for contextual personalized search, the system comprising: a processor; a non-transitory computer-readable storage medium storing program code, executable by the processor, comprising: a knowledge base comprising a hierarchy of nodes, each node associated with a concept, each concept being an instance of a category, wherein one or more documents are mapped to each of the nodes of the knowledge base; and a search engine for: receiving an input query for a search for one or more of the documents mapped to the nodes, the input query comprising a plurality of components; mapping at least some of the components of the search query into the knowledge base, each of the at least some of the components mapped to at least one of the nodes of the knowledge base having a concept that matches the component as a query concept; matching the query concepts to documents mapped to the knowledge base that match the query concepts, the matching performed by: traversing the hierarchy of the knowledge base to match nodes of each of the query concepts across other nodes in the hierarchy of the knowledge base to a plurality of target nodes, at least one of the query concepts being in a first category and being a) matched using transitivity from the first category through at least one second category to at least one of the target nodes in a third category, or being b) matched using transitive closure to a plurality of the target nodes in the first category; selecting, as matches for the input query, each of the documents mapped to one of the target nodes, the selected documents being target documents for the input query; scoring each of the target documents against each of the query concepts to provide a score for each of the target documents; and generating a search result for the input query, the search result comprising at least some of the target documents in ranked order based on the score for each target document.
22. A computer system for contextual personalized search, the system comprising: a processor; a non-transitory computer-readable storage medium storing program code, executable by the processor, comprising: a knowledge base comprising a hierarchy of nodes, each node associated with a concept, each concept being an instance of a category, wherein one or more documents are mapped to each of the nodes of the knowledge base; and a search engine for: receiving an input query for a search for one or more of the documents mapped to the nodes, the input query comprising a plurality of components; mapping at least some of the components of the search query into the knowledge base, each of the at least some of the components mapped to at least one of the nodes of the knowledge base having a concept that matches the component as a query concept; matching the query concepts to documents mapped to the knowledge base that match the query concepts, the matching performed by: traversing the hierarchy of the knowledge base to match nodes of each of the query concepts across other nodes in the hierarchy of the knowledge base to a plurality of target nodes, at least one of the query concepts being in a first category and being a) matched using transitivity from the first category through at least one second category to at least one of the target nodes in a third category, or being b) matched using transitive closure to a plurality of the target nodes in the first category; selecting, as matches for the input query, each of the documents mapped to one of the target nodes, the selected documents being target documents for the input query; scoring each of the target documents against each of the query concepts to provide a score for each of the target documents; and generating a search result for the input query, the search result comprising at least some of the target documents in ranked order based on the score for each target document. 23. The system of claim 22 , further comprising a plurality of knowledge bases, each knowledge base including a knowledge base schema and an instantiation of a knowledge base schema, each knowledge base schema including a set of categories, the knowledge base schema defining a graph of relationships between categories, each category including a set of attributes defining a relationship between categories or within a category, wherein an instance of a category is a concept and an instance of an attribute is a value.