Отсюда http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
Одним из решений для поиска слова с тире или дефисом является использование ПОЛНОГО ТЕКСТА ПОИСКА В БУЛЕВОМ РЕЖИМЕ и заключение слова в дефис / тире в двойных кавычках.
Или отсюда http://bugs.mysql.com/bug.php?id=2095
Есть еще один обходной путь. Недавно он был добавлен в руководство:
"
Изменить файл набора символов: это не требует перекомпиляции. Макрос true_word_char ()
использует таблицу «тип символа», чтобы отличать буквы и цифры от других
персонажи. , Вы можете редактировать содержимое в одном из набора символов XML
файлы, чтобы указать, что «-» является «буквой». Затем используйте данный набор символов для вашего
FULLTEXT индексы.
«
Сам не пробовал.
Редактировать: Вот еще некоторая дополнительная информация здесь http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html
Фраза, заключенная в двойные кавычки («» »), соответствует только строкам, которые буквально содержат фразу, как она была набрана. Полнотекстовый движок разбивает фразу на слова и выполняет поиск в индексе FULLTEXT для слова. До MySQL 5.0.3 механизм затем выполнял поиск подстроки фразы в найденных записях, поэтому совпадение должно включать в фразу несловесные символы. Начиная с MySQL 5.0.3, несловесные символы не должны быть точно соответствует: для поиска по фразе требуется, чтобы совпадения содержали точно такие же слова, что и фраза, и в том же порядке. Например, «тестовая фраза» соответствует «тесту, фразе» в MySQL 5.0.3, но не раньше.
Если фраза не содержит слов в индексе, результат будет пустым. Например, если все слова являются либо стоп-словами, либо короче минимальной длины индексированных слов, результат будет пустым.