Prima di fare qualcosa di più complicato, hai considerato di non inviare la richiesta fino a quando l'utente non ha smesso di digitare per almeno un certo intervallo di tempo (diciamo, 1 secondo)? Ciò dovrebbe ridurre drasticamente il numero di richieste fatte con il minimo sforzo da parte tua.