I am just doing a bunch of testing with mysql's full text boolean mode
and from my testing it doesn't seem you can use the minus sign on multiple words?
I have two rows for example..
id,name
1,2011-12 Fleer Retro auto jordan non
2,1999 jordan non auto
If I run the following query:
SELECT auction_id,`name`,description FROM auctions WHERE MATCH(`name`) AGAINST('+jordan +auto -non' IN BOOLEAN MODE);
Both rows don't show as expected. However if I run this query:
SELECT auction_id,`name`,description FROM auctions WHERE MATCH(`name`) AGAINST('+jordan +auto -"non auto"' IN BOOLEAN MODE);
Both rows don't show (same results). Shouldn't row 1
come back?
Edit: My ft_min_word_len
is set to 2
and I have disabled my stop words file, so it has nothing to do with that.
Fiddle: http://sqlfiddle.com/#!2/d1987/4
However, seems fiddle uses the default stop words file and hence testing it out with the "non" word doesn't work.