1. A computer implemented method for generating search results to be displayed, the method comprising the steps of: retrieving a document to be searched; generating a frequency ordered suffix tree from the retrieved document, wherein the frequency ordered suffix tree is a list of each possible string of the document arranged according to a frequency of use of each possible string within the document; searching the frequency ordered suffix tree on the basis of a keyword to retrieve a set context strings, wherein the set of context strings includes all of the each possible strings of the frequency ordered suffix tree beginning with the keyword, the retrieved set of context strings being a frequency ordered context tree as the context strings thereof are arranged according to frequency of use of the each possible string within the document; compressing the retrieved set of context strings of the frequency ordered context tree to optimize the frequency ordered context tree for display within a limited display region capable of displaying a limited number of context strings, the compressing including obtaining one or more context strings of the frequency ordered context tree to maximize a sum of areas under the condition that only a predetermined maximum number of context strings are displayed within the limited display region, wherein each area is defined as the frequency of use of a given context string within the document multiplied by a length of the context string; and displaying the compressed context strings of the frequency ordered context tree within the limited display region; wherein the steps of retrieving, generating, searching, compressing, and displaying are performed using one or more computer systems.