2010-03-26 11 views
6

Ich verwende Sphinx Search. Es funktioniert gut für mich außer ein Problem: Ich muss einige Einträge ausschließen, wo ein bestimmtes Feld kein Wort enthält.Komplexe Abfrage mit Sphinx

Etwas, das wie dies in MySQL aussehen:

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

Antwort

8

Sie können Sphinx erweiterten Abfragesyntax verwenden, um die Felder, die Sie suchen möchten, wählen. Versuchen Sie, eine Abfrage über Sphinx wie folgt ausgeführt werden:

@yescolumn query @othercolumn -keyword 

So in einer PHP-Seite, die Sie möglicherweise einen Link zu einer Datenbank $sphinx namens Sphinx haben:

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

Weitere Informationen hier: http://www.sphinxsearch.com/docs/current.html#searching