Сложный запрос со сфинксом - PullRequest
6 голосов
/ 26 марта 2010

Я использую Sphinx Search . Он работает нормально для меня, за исключением одной проблемы: мне нужно исключить некоторые записи, где определенное поле не содержит слова.

Что-то похожее на MySQL:

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

1 Ответ

8 голосов
/ 26 марта 2010

Вы можете использовать расширенный синтаксис запроса Sphinx, чтобы выбрать поля, которые вы хотите найти. Попробуйте выполнить запрос через Sphinx следующим образом:

@yescolumn query @othercolumn -keyword

Так что на странице PHP у вас может быть ссылка на базу данных Sphinx с именем $sphinx:

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

Больше информации здесь: http://www.sphinxsearch.com/docs/current.html#searching

...