Установить настройки индекса:
min_word_len = 1
min_infix_len=2 # минимум 2
Добавить все спецсимволы в charset_table.
Пробелы могут не сработать в charset_table и их придётся заменять на другой символ (Нужно тестировать, уже точно не помню, но вроде как документация разрешает использовать пробел через unicode, как U+20).
И запрос будет выглядеть как-то так:
SELECT field FROM index WHERE MATCH('@field *тостер нереально крутой site!!1,.*')
или так, если придётся использовать замену:
SELECT field FROM index WHERE MATCH('@field *тостер__нереально_крутой_site!!1,.*')
Я когда-то использовал такой charset_table (в комментария расшифровка unicode символов)charset_table = 0..9, A..Z->a..z, _, a..z, \
U+410..U+42F->U+430..U+44F, U+430..U+44F, U+401->U+451, U+451, \
U+002D, U+003A, U+002B, U+0028, U+0029
# А..Я->а..я, а..я, Ё->ё, ё,
# -, :, +, (, )
Документация:
min_infix_lenmin_word_lencharset_table