由於我正在轉向獅身人面像搜索引擎來提升我的ebsite性能,我正在嘗試將舊的mysql查詢翻譯成新的獅身人面像語言。獅身人面像搜索字段間的數學運算
問題是根據投票與我的帖子之間的數學運算和每個投票(從1到5)給出的要點對結果進行排序。例如,如果我得到3票的投票,我得到了投票1 = 5分投票2 = 3分和投票3 = 2分,我的表將包含名爲投票的字段,整數= 3(票數= 3) )和一個整數爲5 + 3 + 2(分數= 10)的字段。
由於這個最後的評級等職位將是分/票,在這個例子中這將是10/3 = 3333 ...
假設我使用的是獅身人面像API來獲取列表最受好評的職位按降序排列,這是舊版本的MySQL查詢我對我的PHP腳本:
mysql_query("SELECT * FROM table ORDER BY points/votes DESC LIMIT $start,$stop");
我試圖建立一個獅身人面像的查詢,但它不能正常工作並始終給予0的結果。請仔細閱讀描述我所做的所有嘗試的//註釋行。
require("sphinxapi.php");
$cl = new SphinxClient;
$index = index;
$cl->setServer("localhost", 9312);
$cl->SetMatchMode(SPH_MATCH_FULLSCAN);
//$cl->SetSortMode(SPH_SORT_EXTENDED, 'IDIV(points,votes) DESC'); //not working
//$cl->SetSortMode(SPH_SORT_EXTENDED, '(points DIV votes) DESC'); //not working
//$cl->SetSortMode(SPH_SORT_EXTENDED, 'points/votes DESC'); //not working
//$cl->SetSortMode(SPH_SORT_EXTENDED, '(points/votes) DESC'); //not working
$cl->setLimits($start,$stop,$max_matches=1000);
$query = "";
請你幫我找出有什麼問題......謝謝。
您需要使用'SPH_SORT_EXPR'來使用算術表達式 – DevZer0
我已經嘗試過SPH_SORT_EXPR,並且我得到了零結果的確如此 – Sevy
它不會影響您的選擇排序如何給您0結果? – DevZer0