2016-09-08 27 views
1

這是我的查詢:SphinxQL查詢生成器 - 如何添加多個和/或運營商匹配

$query = SphinxQL::create($conn)->select('*') 
    ->from('my_index') 
    ->match('name', 'bird + monkey', true); 
    $result = $query->execute(); 

加入+||值之間的工作(給匹配「鳥」和/或「猴子」的結果)。

我想添加一個以上的操作,這樣的事情:

$query = SphinxQL::create($conn)->select('*') 
    ->from('my_index') 
    ->match('name', '(bird + monkey) || cat', true); 
    $result = $query->execute(); 

我試圖尋找在Query Builder for SphinxQLsphinxsearch documentation卻找不到這樣的例子。

+0

試試這個..如果這個不工作讓我知道..... $哪裏=「名稱LIKE '%(鳥+猴)%' 或名稱LIKE「%貓% 「「; (''') - > from('my_index') - > match($ where); $ result = $ query-> execute(); –

+0

@KumarRakesh謝謝,但它不能識別'LIKE'這個詞,只是給出了一個空的結果。只能這樣工作:'$ where =「name'%bird%'」;'沒有操作符。 – AnatPort

+0

'+'和'||'從哪裏來?斯芬克斯運營商也不例外! – barryhunter

回答

1

由於barryhunter找到了答案。 正確的語法是:

$query = SphinxQL::create($conn)->select('*') 
->from('my_index') 
->match('name', '("bird monkey") | cat', true); 
$result = $query->execute();