MYSQL Полнотекстовый поиск и символ амперсанда (&) в AWS - PullRequest
0 голосов
/ 12 октября 2019

Я запускаю 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?

...