probablemente escribiría una consulta similar a:
select *, ((title like '%…%')*2 + (description like '%…%')) as rank
from jobs
where title like '%…%'
or description like '%…%'
order by rank desc, time desc
De esta manera, aparecerán primero las filas donde coincidan el título y la descripción, luego las coincidencias de título y luego las coincidencias de descripción. no lo he probado, pero normalmente mysql hace un buen trabajo convirtiendo bool a int (verdadero:1, falso:0)