Какие есть Алгоритмы поиска синонимов?
К примеру: вов, варкрафт, world of warcraft, и просто warcraft
А вас не смущает что в вашем примере нет ни одного синонима? Если хотите математическую точность решения, начинайте с математической точности запроса.
Я здесь вижу транслитерацию, сокращение и совокупность транслитерации и сокращения. Причём сокращение это всегда узкая дорожка, когда вы что-то додумали за пользователя: с чего вы взяли что вов это "ворлд оф варкрафт", а не "великая отечественная война"?
Вопрос как это можно реализовать полностью автоматически?
Взять готовые инструменты для нечёткого поиска, например ElasticSearch