Задать вопрос

Как заставить Sphinx выдавать только те материалы в которых есть все слова из запроса?

Здравствуйте, пытаюсь сделать поиск, который ищет только все слова из запроса.
Например есть текст
Наднациональный орган Таможенного союза может начать свою работу в 2014 году. Об этом рассказал глава Федеральной антимонопольной службы (ФАС) России Игорь Артемьев. "Они еще не вступили в свои правда, вступят после утверждения полномочий, методики развития конкуренции - на это понадобится еще год. Я думаю, в районе 2014 года они смогут приступать", - сказал он.


Поиск выдает этот материал по запросу "Олимпийские игры 2014" только потому что находит в тексте 2014. Нужно что бы так не было.

Пробовал так:
$sql = 'SELECT * FROM '.$db.' WHERE MATCH(\''.$title.'\') LIMIT '.$lim0.', '.$lim1.' OPTION ranker=matchany,max_matches=100000;';

Так:
$sql = 'SELECT * FROM '.$db.' WHERE MATCH(\''.$title.'\') LIMIT '.$lim0.', '.$lim1.' OPTION ranker=proximity,max_matches=100000;';

И так:
$sql = 'SELECT * FROM '.$db.' WHERE MATCH(\'"'.$title.'"\') LIMIT '.$lim0.', '.$lim1.' OPTION ranker=proximity,max_matches=100000;';


Все равно выдает какой то бред.
Помогите пожалуйста разобраться в чем проблема?
  • Вопрос задан
  • 677 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
@mgremlin
Бизнес в и вокруг IT
Попробуй заменить пробелы на плюсы.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@umno
Разбейте все слова, оберните их в кавычки и сделайте так:

select...match('"слово1" | "слово2" | "слово3"') option ranker = sph04;

Должно помочь.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы