2010-03-26 4 views
6

Sto usando Sphinx Search. Funziona bene per me tranne un problema: devo escludere alcune voci in cui un campo specifico non contiene una parola.Query complesso con Sfinge

Qualcosa che sarebbe simile a questa in MySQL:

SELECT * FROM table 
    WHERE yescolumn = 'query' 
    AND othercolumn not like '%keyword%' 

risposta

8

È possibile utilizzare la sintassi di query estesa della Sfinge di scegliere i campi che si desidera cercare. Provare a eseguire una query attraverso Sfinge come questo:

@yescolumn query @othercolumn -keyword 

Così in una pagina PHP si potrebbe avere un collegamento a un database chiamato Sfinge $sphinx:

$sphinx->SetMatchMode(SPH_MATCH_EXTENDED2); 
$results = $sphinx->Query('@yescolumn query @othercolumn -keyword'); 

Maggiori informazioni qui: http://www.sphinxsearch.com/docs/current.html#searching