我有一个搜索查询,它根据一篇文章中使用这个词的次数对结果进行排序。例如,标题中有1次,内容中有1次。这篇文章在列表中的排名会比一篇只在其内容区包含te term的文章高。
但我想多加一点,是不是可以加上乘法器,例如当这个词在标题中使用时,它是2而不是1。请看下面的代码:

<?PHP

//SET THE SEARCH TERM
$term = "Search Term";

$sql = "SELECT *, MATCH(subject, message,reference,textbody) AGAINST('". $term ."') as score FROM pages WHERE MATCH (subject, message,reference,textbody) AGAINST('". $term ."') ORDER BY score DESC";
$query = mysql_query($sql);

//BUILD A LIST OF THE RESULTS
while($result = mysql_fetch_assoc($query)) {
   // your stuff for showing result
}
?>

你能帮我一下吗?

最佳答案

就这样加上

$sql = "SELECT *, MATCH(subject, message,reference,textbody) AGAINST('". $term ."')+1 as score
             FROM pages  ORDER BY score DESC";

关于php - 在排名搜索查询中指定排名PHP,MySQL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19081757/

10-14 06:34