I had problems getting MATCH .. AGAINST to work but I came up with the following

Sql Query:
SELECT *, 
(MATCH (tmp.product_title, tmp.product_description) AGAINST ('+foo* *+foo' IN BOOLEAN MODE)) as relevance
FROM
(
SELECT cp.*, c1.cat_name AS main_cat_name, c2.cat_name AS sub_cat_name, p.product_title, p.product_description

FROM cat_product AS cp 

LEFT OUTER JOIN category AS c1
ON cp.main_cat_id = c1.cat_id

LEFT OUTER JOIN category AS c2
ON cp.sub_cat_id = c2.cat_id

JOIN voruleit_products AS p
ON cp.product_id = p.product_id
) as tmp
WHERE tmp.main_cat_name LIKE '%foo%'
OR tmp.sub_cat_name LIKE '%foo%'
OR tmp.product_title LIKE '%foo%'

OR tmp.product_description LIKE '%foo%'



Just replace foo with your search term.

I hope I got your problem right, feel free to pm me if there are still problems