Почему бы не отслеживать запрос, выполненный пользователем, в переменной сеанса, а затем использовать его для фильтрации любых дальнейших результатов?
Хитрость в предотвращении перегрузки базы данных. Я думаю, на самом деле нужно просто ограничить частоту, с которой автообновлению разрешается обновлять, что-то вроде раз в 2 секунды кажется мне разумным.
Что бы я сделал: сохраните текущий список, возвращаемый запросом для слова «сторона сервера», и свяжите его с переменной сеанса. Это должно быть в основном весь список, я думаю. Затем для каждого введенного нового слова, пока существует исходное слово A, вы можете отфильтровать информацию о сеансе и выплюнуть отфильтрованные результаты без необходимости повторного запроса. Таким образом, в основном, запросите снова, только когда слово A меняется.
Я использую «сессию» в смысле PHP, возможно, вы используете другой язык с другой терминологией, но концепция должна быть одинаковой.