1. An apparatus for performing a natural language search, the apparatus comprising: a processor configured to search an index, said index contains information which references a domain model, using key words from a user's natural language question and the context of the user's question, and to save a plurality of documents obtained in response to the search of the index; the processor further configured to map each of the documents as a node into an object graph, wherein each node is associated with a parent node, except when the node is a root node; the processor further configured to identify the root node of each document; the processor further configured to identify the path of each node from the node to the node's root node, wherein said path comprises a plurality of nodes that connect the node to the root node; the processor further configured to identify a plurality of matching paths, each of said matching paths, wherein each matching path provides an answer to the user's natural language question, each of said plurality of paths that comprises a discrete path of nodes; the processor further configured to filter out paths depending on a set of the user's pre-specified criterion, said criterion including a weighting factor specifying a relative level of importance associated with receiving accurate information; the processor further configured to rank the remaining paths; and a display configured to display, in response to the filtering and ranking, a selected answer to the user.