В общем виде такое вряд ли получится (фантазия людей неистощима).
Для начала заиметь словарь правильных слов языка.
Потом дополнить его отсечением окончаний слов.
Потом добавить списки наиболее частых опечаток и синонимов и сокращений и мемов (сколько придумаете/вспомните).
Потом использовать для коррекции запроса к правильному слову
расстояние Дамерау — Левенштейна.
Можно поискать списки запросов в поисковых системах, полную базу они конечно не выложат, но какие-то самые интересные части может ... Ну и вообще поинтересоваться как они решают эту задачу.
Это всё будет работать ещё не слишком хорошо и потому придётся делать и следующий пункт.
Потом следить за наиболее странными запросами (например с наименьшим количеством результатов) и при их осмысленности ручками добавлять в списки.