В случае невозможности использования внешнего поискового двига это можно решить с помощью отдельных таблиц. Делаете отдельные таблицы, в которых храните только информацию для полнотекстового поиска. Пишете триггеры на вставку, обновление, удаление записей в те таблицы, по которым собираетесь делать полнотекстовый поиск - в триггере джойнами собирайте информацию, которая недоступна прямым запросом по таблице.
Также есть вариант поддержки этих таблиц не через триггеры, а через хуки ActiveRecord.
Ну и надо не забывать, что в MySQL полнотекстовый поиск только для MyISAM таблиц.
P.S. Все-таки рекомендую вам использовать Sphinx или ElasticSearch - убережете себя от большой головной боли.