Мой ответ содержит не алгоритмические шаблоны, а поведенческие, за которые вы можете ловить рыбу.
Включите некоторое время поисковое ведение журнала. (Что ищут люди)
Запишите, какие успешные поиски, те, которые действительно находят результаты (результаты найдены).
Вы можете уточнить эту идею, указав, какие ресурсы люди нажимают, когда ищут термин.
Это дает вам:
Что люди ищут и что они, вероятно, имели в виду.
Продолжайте в том же духе, а затем уточняйте его с помощью временных данных: «по выходным люди ищут это»
Это поможет составить представление о том, как используется ваш поиск, и позволит вам «перехватывать» поисковые термины и вставлять «вы имели в виду?» помощники по поиску в стиле, и на вашей домашней странице "популярные в это время года" ссылки поиска.
Итак, изначально таблица поиска для записи происходящего:
term | results_cnt | daydate | session
Потом позже, когда там будут какие-то данные, сгруппируйте фразы, найдите шаблоны, заглушите отдельные слова - но я бы сказал, чтобы сделать это правильно, вам нужно иметь некоторый человеческий вклад, но все зависит от размера и тематика вашего сайта.