8. A computer program product embodied on a non-transitory computer readable medium, the computer program product including computer code adapted to be executed by a computer to perform a method comprising: receiving, from a user system at a host system having a processor system including at least one processor and a memory system, user input for conducting a search, the user input including one or more input terms; automatically searching, by the processor system, a storage area in the memory system at the host system for stored search strings recorded from prior searches that are similar to the user input, the search strings each having one or more search terms; identifying a subset of the stored search strings that are similar to the user input, as a result of the searching; automatically determining, by the host system, a score for each of the search strings in the subset, the score being a value that indicates an expected likelihood that the user will be interested in the search string, wherein the score for each of the search strings is based on a plurality of factors including: a count of a number of the input terms in the user input that are the same as the one or more the search terms in the search string, a relevancy of a collection of documents found when a search is performed using the search string, and how often users have chosen the search string when suggested by the host system; ranking the search strings in the subset, in accordance with the determined scores; and sending, from the host system to the user system, the search strings in the subset, listed in order of the ranking as search suggestions.
8. A computer program product embodied on a non-transitory computer readable medium, the computer program product including computer code adapted to be executed by a computer to perform a method comprising: receiving, from a user system at a host system having a processor system including at least one processor and a memory system, user input for conducting a search, the user input including one or more input terms; automatically searching, by the processor system, a storage area in the memory system at the host system for stored search strings recorded from prior searches that are similar to the user input, the search strings each having one or more search terms; identifying a subset of the stored search strings that are similar to the user input, as a result of the searching; automatically determining, by the host system, a score for each of the search strings in the subset, the score being a value that indicates an expected likelihood that the user will be interested in the search string, wherein the score for each of the search strings is based on a plurality of factors including: a count of a number of the input terms in the user input that are the same as the one or more the search terms in the search string, a relevancy of a collection of documents found when a search is performed using the search string, and how often users have chosen the search string when suggested by the host system; ranking the search strings in the subset, in accordance with the determined scores; and sending, from the host system to the user system, the search strings in the subset, listed in order of the ranking as search suggestions. 10. The computer program product of claim 8 , wherein the relevancy of the collection of documents found when a search is performed using the search string is based on a highest relevancy score of a preconfigured number of the highest ranked documents found when the search is performed using the search string.