Сначала создайте три индекса FULLTEXT:
* one on the title column
* one on the body column
* one on both title and body columns
Затем создайте запрос следующим образом:
SELECT field1, field2, field3, title, body,
MATCH (title) AGAINST ('word_to_search') AS rel_title,
MATCH (body) AGAINST ('word_to_search') AS rel_body
FROM table_to_use
WHERE MATCH (title,body) AGAINST ('word_to_search')
ORDER BY (rel_title*2)+(rel_body)
Это даст заголовку в 2 раза больше релевантности, чем тексту..
Это очень удобно, когда необходимо разрешить сортировку контента, например, по тегам (которые не просматриваются пользователями), поскольку позволяет настраивать результаты из-за кулис.