2015-10-09 59 views
0

我剛剛安裝在我的服務器SphinxQL供應商(我是新來的),我有一個問題 - 我找不到一種方法使腳本通過隨機選擇工作。SphinxQL供應商訂單隨機

這是我的代碼:

require "./classes/vendor/autoload.php"; 
use Foolz\SphinxQL\SphinxQL; 
use Foolz\SphinxQL\Connection; 


// create a SphinxQL Connection object to use with SphinxQL 
$conn = new Connection(); 
$conn->setParams(array('host' => '127.0.0.1', 'port' => 9306)); 
$query = SphinxQL::create($conn)->select('*') 
    ->from('documents_titles') 
    ->match('title','welcome') 
    ->orderBy('title', $direction = 'RAND()'); 
$result = $query->execute(); 
var_dump($result); 

我已經嘗試了許多辦法讓它隨機的,但沒有運氣。希望有人能幫助我。

回答

0

SphinxQL僅支持ascdesc選項,而不支持rand方向。有關更多詳細信息,請參閱https://github.com/FoolCode/SphinxQL-Query-Builder#group-within-group-order-offset-limit-option

然而,你可以在PHP中做到這一點,而不是:

require "./classes/vendor/autoload.php"; 
use Foolz\SphinxQL\SphinxQL; 
use Foolz\SphinxQL\Connection; 


// create a SphinxQL Connection object to use with SphinxQL 
$conn = new Connection(); 
$conn->setParams(array('host' => '127.0.0.1', 'port' => 9306)); 
$query = SphinxQL::create($conn)->select('*') 
    ->from('documents_titles') 
    ->match('title','welcome'); 

$result = $query->execute(); 
shuffle($result); // <-- ADD THIS LINE 
var_dump($result);