1. A computer-implemented method comprising the steps of: sending, over a network, a user interface to a client node, wherein the client node: receives a not-yet-submitted search query from a user, and determines, prior to receiving an indication from the user that the not-yet-submitted search query is completely formed, whether the not-yet-submitted search query (a) includes a character in a set consisting of non-alphanumeric characters or (b) matches a phrase in a dictionary of pre-defined phrases; and receiving, over the network, the not-yet-submitted search query from the client node only after the client node determines that the not-yet-submitted search query includes a character in the set or matches a phrase in the dictionary; prior to receiving an indication from the client node that the not-yet-submitted search query is completely formed, performing the steps of: determining a predicted search query by predicting what the not-yet-submitted search query will be when completed; and determining, based on the predicted search query, an alternative search query that differs from the predicted search query; providing the alternative search query to the client node; wherein the steps are performed on one or more computing devices.