我的搜索查询如下所示:
$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";
它工作得很好(大部分时间),但我注意到的问题是,当你搜索结果有限的话题时(比如说两个),它会先显示那两个,然后是一堆非相关的,直到极限到了。
我想知道是否有办法更改评分系统,以便确定顶部的两个是最相关的,其余的是不相关的,所以不应该显示它们。
答案 0 :(得分: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";