9. One or more non-transitory computer-readable media storing computer-executable instructions which, when executed by a processor on a computer system, perform a method for natural language searching comprising: searching an index using key words from a user's natural language question and the context of the user's question, said index contains information which references a domain model; saving a plurality of documents obtained in response to the search of the index; mapping 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; identifying the root node of each document; identifying 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; identifying a plurality of 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; filtering out paths depending on a set of the user's pre-determined criterion; ranking the remaining paths; and displaying a selected answer to the user, in response to the ranking and filtering.
12. The method of claim 9 , wherein each node in graph has an identification number; and each document in the index has an identification number, and the identification numbers of the documents in the graph and the identification numbers of the documents in the search index are identical.