Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Complex Query with Sphinx

Tags:

php

mysql

sphinx

I am using Sphinx Search. It's working fine for me except one problem: I need to exclude some entries where a specific field doesn't contain a word.

Something that would look like this in MySQL:

SELECT * FROM table
   WHERE yescolumn = 'query' 
   AND othercolumn not like '%keyword%'
like image 936
masnun Avatar asked Mar 26 '10 20:03

masnun


1 Answers

You can use Sphinx's extended query syntax to pick the fields you want to search. Try running a query through Sphinx like this:

@yescolumn query @othercolumn -keyword

So in a PHP page you might have a link to a Sphinx database named $sphinx:

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

More information here: http://www.sphinxsearch.com/docs/current.html#searching

like image 154
thetaiko Avatar answered Sep 18 '22 04:09

thetaiko