переводим все слова в upper, каждому слову присваиваем степень 2ки, в зависимости от веса (кол-ва слова в выборке), суммируем все слова.
при поиске делаем and, чтобы проверить есть ли то или иное слова в названии.
потом как-то считаем вес попаданий и все.
я как-то так делал. работало