Я просто делаю кучу тестирования с помощью mysql's full text boolean mode
, и из моего тестирования, похоже, вы не можете использовать знак минус на нескольких словах?Использование знака минус в нескольких словах в полном текстовом булевом режиме
У меня есть две строки, например ..
id,name
1,2011-12 Fleer Retro auto jordan non
2,1999 jordan non auto
Если я запускаю следующий запрос:
SELECT auction_id,`name`,description FROM auctions WHERE MATCH(`name`) AGAINST('+jordan +auto -non' IN BOOLEAN MODE);
Обе строки не показывают, как ожидалось. Однако, если я запустил этот запрос:
SELECT auction_id,`name`,description FROM auctions WHERE MATCH(`name`) AGAINST('+jordan +auto -"non auto"' IN BOOLEAN MODE);
Обе строки не показывают (те же результаты). Не следует ли вызывать 1
?
Edit: Мой ft_min_word_len
установлен в 2
и я отключил мой стоп файл слова, так что это не имеет ничего общего с этим.
Fiddle: http://sqlfiddle.com/#!2/d1987/4
Однако, кажется скрипка использует стоп-слова по умолчанию файлу и, следовательно, тестирование его с «не» словом не работает.
Попробуйте добавить еще несколько строк в таблицу. – Strawberry
@ Струберри сожалеет, таблица имеет более двух строк ... на самом деле на самом деле имеет '164' строк. – Brett
И примерно какой процент соответствует критериям, которые вы предоставляете? – Strawberry