Не нужны тут алгоритмы. Все уже есть готовое.
Вариант раз:
https://dev.mysql.com/doc/refman/8.0/en/fulltext-s...
Вариант два:
sphinxsearch.com
Первый нативный, но не очень производительный.
Второй сложнее в реализации, но быстрее.
Есть еще варианты, можете сами поискать. ElasticSearch, например.