Mysql полнотекстовый логический игнорировать фразу - PullRequest
1 голос
/ 10 июня 2011

Я пытаюсь найти логический поиск mysql, который соответствует «monkey», но игнорирует / не учитывает совпадения с «monkey business».

Что-то вроде следующего является общей идеей, но оно отрицает значение. Мне нужно, чтобы он не совпадал со строками с «бизнесом обезьян», если только они не имеют слова «обезьяна» без «бизнес» после него в других местах текста.

SELECT * FROM table
MATCH (title) against ('+monkey ~"monkey business"' IN BOOLEAN MODE);

Возможно ли это? Заранее спасибо за любую помощь, которую вы можете оказать! Я понимаю, что это можно сделать с лучшими поисковыми системами, на данный момент я могу использовать полный текст.

1 Ответ

0 голосов
/ 10 июня 2011

Я проверил это, и оно работает:

SELECT * FROM table
WHERE MATCH (title) against ('+monkey' IN BOOLEAN MODE)
AND NOT MATCH (title) against ('+"monkey business"' IN BOOLEAN MODE);

p.s Я также попробовал оператор логического отрицания:

AND MATCH (title) against ('-"monkey business"' IN BOOLEAN MODE)

но это не сработало.

...