Бесплатный поиск текста - огромная тема (просто спросите Google!), И есть множество способов, как вы можете подойти к этому. Если ваши данные хорошо структурированы, довольно статичны и относительно малы (т. Е. У субъекта класса есть только 5-10 вариантов, таких как IT, EEE, MEC, которые редко меняются), вы можете захотеть уточнить параметры поиска для пользователей, чтобы они явно выберите, кого из них они ищут.
В качестве альтернативы вы можете изучить Опции полнотекстового поиска MySQL . Или вы можете даже подойти и взглянуть на автономное решение, такое как Lucene (это всего лишь один из вариантов, таких как много).
Не один размер подходит всем; все зависит от того, как структурированы ваши данные и чего хотят ваши пользователи.