1. A non-transitory computer readable storage media having computer readable code thereon for dynamically modifying search results, comprising code for: receiving one or more keywords for use as search terms from a user; providing a first set of search result objects; monitoring which document said user clicks on in interacting with said first set of search result objects; compiling information to infer user intent based on said clicked documents; upon said user clicking to return from said document to said set of search result objects including said document, immediately automatically re-ranking said first set of search result objects based on said inferred user intent, so that a user clicking on a single document from said first set of search result objects results in a re-ranking of said first set of search result objects, so that upon said user returning from said document to said first set of search result objects including said document the re-ranked results will be visible; doing said re-ranking in a same browser session and on the existing search results page, without the user having to reload said search results page; and moving forward a number of documents as a function of the quality of the documents being moved forward compared to documents already displayed to said user, wherein the function of quality comprises a determination of which documents are more relevant to said user's inferred intent than documents already displayed; compiling said re-ranked first set of search result objects; and displaying to said user the re-ranked documents.