Ok, jag har äntligen kommit på det här. Det ser ut som att jag redan har rensat myisam-stopporden men inte innodb. Det är lite men svårare att göra än för myisam men här är stegen för alla andra som kan behöva det:
I din /etc/my.cnf (eller my.ini på Windows) lägg till dessa rader:
Skapa en stoppordstabell. Jag gjorde min i en db som heter settings
och en tabell som heter innodb-stopwords
. Du kan inte bara ställa in innodb_ft_enable_stopword = 0
, måste du skapa och länka till en tabell.
Se till att din tabell är innodb och lägg till en kolumn som heter value
, varchar(?), utf8_general_ci. Du kan lämna den tom eller lägga till värden i tabellen.
innodb_ft_enable_stopword = 1
innodb_ft_server_stopword_table = settings/innodb-stopwords
Starta om din mysql-server.
Släpp och återskapa dina fulltextindex.
Om du inte vill starta om servern kan du dynamiskt ställa in variablerna med (uppdatera även cnf/ini-filen för nästa serveromstart)
--innodb_ft_enable_stopword=1
--innodb_ft_server_stopword_table=db_name/table_name
Jag ser ingen lösning för att återskapa indexet... du kan dock göra det med ett kommando så att tabellen är låst hela tiden och dina användare inte får felmeddelanden:
ALTER TABLE `tablename` DROP INDEX indexname, ADD FULLTEXT(`columnname`);