Oke, saya akhirnya menemukan ini. Sepertinya saya sudah menghapus stopword myisam tetapi tidak yang innodb. Ini sedikit tetapi lebih sulit untuk dilakukan daripada untuk myisam tetapi berikut adalah langkah-langkah untuk orang lain yang mungkin membutuhkannya:
Di /etc/my.cnf Anda (atau my.ini di windows) tambahkan baris ini:
Buat tabel stopword. Saya membuat milik saya di db bernama settings
dan sebuah tabel bernama innodb-stopwords
. Anda tidak bisa hanya mengatur innodb_ft_enable_stopword = 0
, Anda harus membuat dan menautkan ke tabel.
Pastikan tabel Anda innodb dan tambahkan kolom bernama value
, varchar(?), utf8_general_ci. Anda dapat membiarkannya kosong atau menambahkan nilai ke tabel.
innodb_ft_enable_stopword = 1
innodb_ft_server_stopword_table = settings/innodb-stopwords
Mulai ulang server mysql Anda.
Jatuhkan dan buat ulang indeks teks lengkap Anda.
Jika Anda tidak ingin me-restart server, Anda dapat mengatur variabel secara dinamis dengan (juga memperbarui file cnf/ini untuk restart server berikutnya)
--innodb_ft_enable_stopword=1
--innodb_ft_server_stopword_table=db_name/table_name
Saya tidak melihat solusi untuk membuat ulang indeks... Anda dapat melakukannya dalam satu perintah sehingga tabel terkunci sepanjang waktu dan pengguna Anda tidak mendapatkan kesalahan:
ALTER TABLE `tablename` DROP INDEX indexname, ADD FULLTEXT(`columnname`);