Я пытался отключить стоп-слова InnoDB, но он по-прежнему не работает с ключевыми словами the
, this
и т. Д., Когда они включены, также min_word имеет значение 2.
Я где-то читал на stackoverflow, что кто-то упомянул, что MyISAM игнорирует полнотекстовый индекс и возвращает результаты, в то время как InnoDB не будет игнорировать и не доставлять результаты.
Есть ли способ исправитьэто для InnoDB?
Вот пример ..
The flower is red and beautiful.
InnoDB
SELECT name FROM x MATCH (x.name) AGAINST ('+the* +flower*' IN BOOLEAN MODE)
Showing rows 0
MyISAM
SELECT name FROM x MATCH (x.name) AGAINST ('+the* +flower*' IN BOOLEAN MODE)
Showing rows 1
РЕДАКТИРОВАТЬ 1:
Вот настройки: (стоп-слова отключены и установлены в пустую таблицу)
aria_force_start_after_recovery_failures 0
ft_boolean_syntax + -><()~*:""&|
ft_max_word_len 84
ft_min_word_len 2
ft_query_expansion_limit 20
ft_stopword_file
innodb_ft_aux_table
innodb_ft_cache_size 8000000
innodb_ft_enable_diag_print OFF
innodb_ft_enable_stopword ON
innodb_ft_max_token_size 84
innodb_ft_min_token_size 2
innodb_ft_num_word_optimize 2000
innodb_ft_result_cache_limit 2000000000
innodb_ft_server_stopword_table local/my_stopwords
innodb_ft_sort_pll_degree 2
innodb_ft_total_cache_size 640000000
innodb_ft_user_stopword_table local/my_stopwords
РЕДАКТИРОВАТЬ 2:
Исправлено путем изменения my.cnf
на
innodb_ft_enable_stopword = 0
Предложено @ Raymond Nijland