Скорее всего, там классический "накопительный" подход бигдаты. Асинхронно в бэкграунде идёт парсинг данных из сети, это позволяет всегда держать данные актуальными и динамически её пополнять. Затем формируются метаданные для быстрого анализа, они уже и хранятся в базе сервиса. Затем, когда Вы уже непосредственно ввели текст и отправили на валидацию, идёт анализ сопоставлений с помощью нечёткого поиска или других оптимизированных алгоритмов работы с текстом, сопоставляются метаданные и выдаётся результат. Конечно, я могу и ошибаться, но если бы мне нужно было реализовать подобное решение, то принцип работы у него был бы схож с вышеописанным.