Я запускаю MYSQL 8 на сервере AWS RDS, и у меня возникают проблемы при выполнении полнотекстового поиска, который включает символ «&»:
select * from my_table where MATCH (`field`) AGAINST("a&b" IN BOOLEAN MODE)
Я читал в других сообщениях, которые видит MYSQLсимвол "&" как разделитель слов , который кажется правильным, как я проверял на "ab & cd" против "ab cd", и он работает.
Я пытался установить в mysql.ini:
ft_min_word_len=1
innodb_ft_min_token_size=1
, а затем перестройка индексов (используя ALTER TABLE my_table ENGINE=InnoDB
), что сработало, однако теперь я получаю результаты, которые включают " someting-b " и " aкое-что еще"и т. д. вместо просто" a & b ".
В идеале я хочу сохранить минимальную длину слова как минимум 2, чтобы предотвратить это, но тогда" a & b "не будет найдено.
Есть ли способ установить "&", чтобы он не был символом-разделителем в качестве команды sql или в файле ini, поскольку я ограничен в AWS RDS?