0

我从全文 mysql dbTable 中选择文本,返回的命中按相关性乘以客户端提供的权重排序。查询工作正常,但我想作为查询的“AS 分数”子句将实际加权相关性分数返回给客户端(通过 php)。我尝试在任何地方插入 AS 子句,但没有成功。建议?谢谢你

$sql1="SELECT * FROM $dbTable 
WHERE MATCH (data) AGAINST ('".$key_word_1."') 
   OR MATCH (data) AGAINST('".$key_word_2."') 
ORDER BY (MATCH (data) AGAINST('".$key_word_1."') * $weight_1) + (MATCH (data) AGAINST('".$key_word_2."') * $weight_2)  DESC 
LIMIT 200";
4

1 回答 1

1

你可以这样做:

SELECT * , (MATCH (data) AGAINST('".$key_word_1."') * $weight_1) + (MATCH (data) AGAINST('".$key_word_2."') * $weight_2) AS score
....
ORDER BY score DESC
于 2012-05-06T18:59:40.713 回答