1. A method comprising: displaying one or more search results from a previous search of a particular database; receiving first input specifying a query of the particular database comprising a first text string comprising one or more terms; processing the query against the particular database by performing a first search of the particular database for the one or more terms; in response to identifying no search results for the query, classifying each of the one or more terms, of the first text string, as a bad term; adding the one or more terms to a first list that is empty before the one or more terms are classified as bad terms; receiving second input that changes the first text string to a second text string; determining whether a particular term in the second text string begins with a term in the first list; in response to determining that the particular term in the second text string begins with a term in the first list, removing the particular term from the second text string; processing the query against the particular database by performing a second search of the particular database for only the second text string without the particular term; in response to identifying no search results based on the second search, incrementing a counter; determining whether the counter is equal to a particular threshold; continuing to display the one or more search results that were displayed from the previous search only if the counter is less than the particular threshold.