私はおそらく次のようなクエリを書くでしょう:
select *, ((title like '%…%')*2 + (description like '%…%')) as rank
from jobs
where title like '%…%'
or description like '%…%'
order by rank desc, time desc
このように、タイトルと説明の両方が一致する行が最初に表示され、次にタイトルが一致し、次に説明が一致します。私はそれをテストしていませんが、通常、mysqlはboolをintに変換するのに適しています(true:1、false:0)