0

我有一个看起来像这样的搜索查询:

  $sql="SELECT *, 
  MATCH(item_tags, item_name, item_description) AGAINST('$serchQuery' IN BOOLEAN MODE) AS score 
  FROM item_list 
  WHERE  `item_display`='1' OR `item_display`='3' AND MATCH(item_tags, item_name, item_description) AGAINST('$serchQuery' IN BOOLEAN MODE) ORDER BY score DESC LIMIT 0, 24";

它工作正常(大部分时间),但我注意到的问题是,当您搜索一个结果有限的主题(比如说两个)时,它会首先显示这两个,然后显示一堆不相关的,直到达到限制。

我想知道是否有办法更改评分系统,以便确定顶部的两个是最相关的,其余的不相关,因此不应显示它们。

4

1 回答 1

1

那么你可以尝试:

$sql = "SELECT *,
MATCH (item_tags, item_name, item_description) AGAINST ($serchQuery IN BOOLEAN MODE) AS score 
FROM item_list 
WHERE MATCH(item_tags, item_name, item_description) AGAINST('$serchQuery' IN BOOLEAN MODE)  
HAVING score >= 1
ORDER BY score DESC LIMIT 0, 24";
于 2013-02-11T17:08:23.133 回答