Мне интересно, в обычном полнотекстовом поиске:
mysql_query("SELECT post_subject,topic_id,forum_id,post_text
FROM phpbb_posts
WHERE MATCH (post_subject,post_text)
AGAINST ('".$dtitle."')
GROUP BY post_subject
LIMIT 50") or DIE(mysql_error());
Я могу получить результат поиска найденных совпадений.
Поэтому я мог бы сделать что-то вроде ORDER BY number_of_keywords desc
Из docs:
Когда MATCH() используется в предложении WHERE, как в примере, показанном ранее, возвращаемые строки автоматически сортируются с наивысшей релевантностью.
Итак, результаты уже отсортированы по релевантности.
Релевантность вычисляется на основе количества слов в строке, количества уникальных слов в этой строке, общего количества слов в коллекции и количества документов (строк), содержащих определенное слово.
Остальная часть страницы может быть интересной.
$dtitle
, это должно дать наибольшую релевантность?