Неважно, как будет сформулирован запрос: существительные, прилагательные можно склонять, глаголы спрягать — бот вас всё равно поймет, т.к. распознает основу слова. В его базе заданы индексы, которые будут искать слова и расставлять им очки в зависимости от поля, в котором они находятся. Сначала бот просканирует поля, которые находятся в заданном топике, потом все остальные, эти получат меньше очков. Результаты с наибольшим количеством очков будут выпадать первыми. Дальнейшие выстроятся в иерархию по мере убывания веса.