В поле FULLTEXT с индексом, содержащим слово ddi
. Теперь я ищу это слово с помощью MATCH() функции, как показано ниже, но она возвращается 0 записи:MySQL: поиск по полнотекстовому индексу с использованием MATCH и INSTR
SELECT * FROM `tbl_xxx`
WHERE MATCH(`full_content`) AGAINST ('ddi' IN NATURAL LANGUAGE MODE);
-- RETURNING 0 RECORDS :(
Но когда я в поиск с помощью Instr() функции, то она возвращает 1 запись
SELECT * FROM `tbl_xxx`
WHERE INSTR(`full_content`, 'ddi')
-- RETURNS 1 RECORD :)
Зачем использовать INSTR(), возвращая 1 запись, но не с MATCH().
Таблица tbl_xxx
имеет тип двигателя = MyISAM и поле full_content
индексируется с помощью FULLTEXT
Добавлен 'ft_min_word_len = 3' в my.cnf и перезапущен MySQL, но по-прежнему получает 0 записей для поиска FULLTEXT! – vinaykrsharma
Если вы используете «SHOW VARIABLES LIKE 'ft_%'", каковы результаты? –
Да видел это: 'ft_boolean_syntax + -><() ~ *: "" & |' ' ft_max_word_len 84' ' ft_min_word_len 3' 'ft_query_expansion_limit 20' ' ft_stopword_file (встроенный) ' – vinaykrsharma