1. A method for performing a search of target documents based on a reference document received as input, the method comprising: executing a reference search, based on the reference document received as input, using search criteria to select and score a set of target documents against the reference document, each target document given a reference score representing similarity between the target document and the reference document, the set of target documents with the reference scores representing a reference search result set; executing a reverse search, based on the target documents in the reference search result set as input, using search criteria to select and score the reference document against each of the target documents in the reference search result set, each target document given a reverse score representing similarity between the reference document and the target document, the set of target documents with the reverse scores representing a reverse search result set; and combining the reference score and reverse score for respective ones of the target documents using a secondary combining function, each target document given a secondary combined score based on the combining that is a function of the reference score and the reverse score, the set of target documents with the secondary combined scores representing a secondary result set.
14. The method of claim 1 , further comprising: extracting structure from unstructured target documents and unstructured reference documents; inserting the structure into one or more knowledge bases; matching text strings contained in the structure; and inserting links into the one or more knowledge bases connecting the structure with the one or more knowledge bases.