1. A method of extracting knowledge from a knowledge archival and recollection system, said method comprising: recognizing a user actuation on a computer; initiating a search application; displaying a user search interface; receiving input parameters via said search interface, the input parameters including keyword, date range, user activity data, file enhancement, criteria and graph options from the user, the user activity data including data of activity of the user accessing online data, being provided to the computer from a network, and offline data, being locally available on the computer, said file enhancement including annotation and file insertion; identifying a query type based on said received input parameters; formulating a database query based on the received input parameters; transmitting said database query to a database, the database being in communication with a file archive indexer for indexing a file archive for storing files and data regarding said files, the file archive indexer including a front-end indexer for processing queries and a background indexer for generating and updating indexes; formulating a keyword query based on the keyword; transmitting the keyword query to the file archive indexer; obtaining database query results from said database and keyword query results from the file archive indexer, the database storing the user activity data and the file archive storing actual content accessed by the user; providing result of intersection of said database query results and the keyword query results to a result analyzer module, the result analyzer module generating a rank for each database query result and obtaining a click stream for the each database query result; and displaying search result analyzer module results to the user, the search result analyzer module results including a customizable user activity report based on the input parameters and the user activity data.