使用多个相关性评级进行MYSQL全文搜索

时间:2012-07-19 21:00:35

标签: mysql match full-text-search against

我正在创建一个用于交易某些东西的网站。截至目前,用户输入他必须交易的东西以及他想要交易的东西。例如,在书籍的情况下,用户会列出他拥有圣经副本并正在寻找哈利波特的副本。然后,该网站应该找到在他们拥有的和他们想要的东西之间具有最高相关性评级的用户。我能够在用户想要的内容和其他用户之间找到相关性评级。我还可以找到相反的相关性评级,用户拥有的内容以及其他用户想要的内容。但是,为了找到最佳匹配,我需要将这两个数字组合起来,然后根据这个数字对结果表进行排序。

 $query=mysql_query("SELECT *, MATCH(their_book1, their_book2, their_book3, their_book4, their_book5, their_book6) AGAINST ('$my_trades' ) AS score1, AND MATCH(my_book1, my_book2, my_book3, my_book4, my_book5, my_book6) AGAINST ('$their_trades') AS score2  FROM $trade_table WHERE MATCH(my_book1, my_book2, my_book3, my_book4, my_book5, my_book6) AGAINST ('$their_trades') OR MATCH(their_book1, their_book2, their_book3, their_book4, their_book5, their_book6) AGAINST ('$my_trades' )") or die (mysql_error());


while($row=@mysql_fetch_array($query, MYSQL_ASSOC))
{
    echo "<br>ID: $row[user_ID]
          score1: $row[score1]
          score2: $row[score2]<br>";
}

score1和score2代表我需要结合的不同相关性评级。 有什么想法吗?谢谢

0 个答案:

没有答案