Ok, jeg fandt endelig ud af det. Det ser ud til, at jeg allerede havde ryddet myisam-stopordene, men ikke de innodb. Det er lidt, men sværere at gøre end for myisam, men her er trinene for alle andre, der måske har brug for det:
Tilføj disse linjer i din /etc/my.cnf (eller my.ini på Windows):
Opret en stopordstabel. Jeg lavede min i en db kaldet settings
og en tabel kaldet innodb-stopwords
. Du kan ikke bare indstille innodb_ft_enable_stopword = 0
, skal du oprette og linke til en tabel.
Sørg for, at din tabel er innodb, og tilføj en kolonne kaldet value
, varchar(?), utf8_general_ci. Du kan lade den stå tom eller tilføje værdier til tabellen.
innodb_ft_enable_stopword = 1
innodb_ft_server_stopword_table = settings/innodb-stopwords
Genstart din mysql-server.
Drop og genskab dine fuldtekstindekser.
Hvis du ikke vil genstarte serveren, kan du dynamisk indstille variablerne med (opdater også cnf/ini-filen til næste servergenstart)
--innodb_ft_enable_stopword=1
--innodb_ft_server_stopword_table=db_name/table_name
Jeg kan ikke se nogen løsning til at genskabe indekset... du kan dog gøre det i én kommando, så tabellen er låst hele tiden, og dine brugere ikke får fejl:
ALTER TABLE `tablename` DROP INDEX indexname, ADD FULLTEXT(`columnname`);