prawdopodobnie napisałbym zapytanie podobne do:
select *, ((title like '%…%')*2 + (description like '%…%')) as rank
from jobs
where title like '%…%'
or description like '%…%'
order by rank desc, time desc
w ten sposób wiersze, w których tytuł i opis będą się pojawiać jako pierwsze, następnie będą pasować do tytułu, a następnie do opisu. nie testowałem tego, ale zwykle mysql wykonuje dobrą robotę konwertując bool na int (prawda:1, fałsz:0)