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";

それは(ほとんどの場合)正常に機能しますが、私が気付いた問題は、結果が限られているトピック(たとえば2つ)を検索すると、最初にそれら2つと、制限に達するまで関連性のない多数のトピックが表示されることです。

スコアリングシステムを変更して、上の2つが最も関連性が高く、残りが関連性がないと判断されるようにする方法があるかどうかを知りたいので、表示しないでください。

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 に答える