Search code examples
phpfull-text-searchsphinx

Sphinx - combine OR operator with field start/end modifier


Is this expression write right? Because I don't received all results as expected:

(@nationality_code ("^MD$" | "^GB$" | "^IT$"))

I should get all users with the nationality code equal to 'MD' or 'GB' or 'IT'

Should be like this query in mysql:

SELECT * FROM users WHERE nationality_code IN ('MD', 'GB', 'IT')

UPDATE If I search for only MD and GB, I receive the right results:

The query I execute is this:

SELECT id, nationality_code 
FROM jobs_applied_main 
WHERE MATCH('(@nationality_code ("^MD$" | "^GB$"))') AND job_id = '6257' 
LIMIT 0, 999;

enter image description here

But If I add also "^IT$", I don't get users with nationality "MD" anymore.

enter image description here

If I remove start/end modifier, I receive the results that I'm expected, Why this behavior?

UPDATE So, here my index dump and sphinx.conf file: sphinx-dump


Solution

  • There's a problem with Sphinx 3.0.3 ver, because with Sphinx 2.2.11 it works