2014-05-19 31 views
0

這裏是我的查詢Sphinxql查詢如何Sphinxql查詢構建器添加匹配模式

$query =SphinxQL::query()->select('*') 
    ->from('table1')->match('title','hel',)->execute(); 

    //title is column name 

我需要具有文本hel任何地方for eg mysql Like %string%

在高於其檢索其匹配hel記錄的記錄也就是說

我需要添加setmatchmode(SPH_MATCH_ANY),我需要補充,這是Sphinxql查詢

回答

3

坦率地說,你最好不要使用匹配模式,即使你在技術上可以通過SphinxQL。

代替僅僅使用仲裁語法重寫查詢....

->match('title',expr('"hel two there"/1')) 

編輯,以澄清可能需要使用表達式來避免自動轉義由框架提供。 (感謝評論!)

+0

我會檢查並感謝你。 –

+0

您可能需要將匹配包裝在表達式中,否則控制字符將被轉義。 Laravel圖書館使用Foolz \ SphinxQL(免責聲明:我是創作者)。 ' - > match('title',\ Foolz \ SphinxQL \ SphinxQL :: expr(''hel two there'/ 1'))'。在match()上進一步閱讀:https://github.com/FoolCode/SphinxQL-Query-Builder#match – Woxxy