我正在努力想出一个与“猴子”相匹配的mysql布尔搜索,但是忽略/没有考虑“猴子生意”的匹配。
以下是一般性的想法,但它否定了价值。我需要它不要将行与“猴子业务”匹配,除非它们在文本的其他地方之后还有“猴子”没有“业务”。
SELECT * FROM table
MATCH (title) against ('+monkey ~"monkey business"' IN BOOLEAN MODE);
有可能吗?在此先感谢您提供任何帮助!我意识到这可以通过更好的搜索引擎来完成,目前我可以使用全文。
答案 0 :(得分:0)
我对此进行了测试并且有效:
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)
但它不起作用。