A method for iteratively drilling-down on a user's textual free-form natural language query uses a session history to interpret successive queries in the context of previous queries on a topic or topics and to detect an implicit switch in topic. By maintaining a session history of the user's free-form natural language input and by automatically determining whether there is a topic or context switch, the search process is substantially simplified and is more effective; that is, more accurate answers to a user's queries are found faster. In addition, as the system operates on free-form natural language input, automatically constructing the actual search expressions, the complexity of constructing successive search expressions is obviated. If the system determines the user is, according to its session history and tests, asking successive questions within a given topic or context, the system keeps searching within a previously determined given set of previous responses on that context or topic. This effectively narrows the documents found allowing the user to quickly and accurately find just the documents of interest. If the system determines the user has implicitly changed context or topic, based on its session history and tests, it searches all the information at its disposal; i.e., all of the collections of documents.