Я недавно обновился до MySQL 5.5 (с 5.0). Мой поиск сейчас не работает. Он не найдет большинство поисковых фраз. Через некоторое время я заметил, что это, возможно, 50% порог (встречаются редкие слова). Это InnoDB. Я уже установил пустой файл стоп-слов в my.cnf.
Эти запросы уже такие
AGAINST (@srch IN BOOLEAN MODE)
И все же многие, часто все, результаты игнорируются.
Единственная причина, по которой я могу думать, это то, что phpMyAdmin выдает предупреждение при входе в систему:
Ваша библиотека PHP MySQL версии 5.0.51a отличается от вашего сервера MySQL
версия 5.5.22. Это может привести к непредсказуемому поведению.
Однако все остальное работает нормально. Я действительно не могу обновить php. Также есть довольно большой шанс, что это не причина.
Есть идеи?
После настройки стоп-слов и ft_min_word_len мне пришлось отбросить всю базу данных InnoDB (дамп & Импортировать). Теперь это работает.
Что касается полнотекстового поиска, доступного с 5.6.4: в официальном руководстве по mysql есть некоторые опечатки / ошибки. Он работал в 5.0 и до сих пор работает в 5.5. Проблема была в перестроении индекса для InnoDB.
Других решений пока нет …