Я пытаюсь сделать полнотекстовый поиск по utf8_unicode_ci
закодированные таблицы с использованием MySQL с движком MyISAM.
Вот запрос:
$sql = "select distinct u.userId,u.rite,u.link,u.reg,u.prenom,u.nom,u.pere,u.birthday,u.sex,
u.mazhab,u.mere,u.martialStat,u.voted,MATCH(`nom`,`prenom`) AGAINST (':str' IN BOOLEAN MODE)
AS relevance FROM users as u,users_responsibles as ur,users_delegates as ud where MATCH(`nom`,`prenom`)
AGAINST (':str' IN BOOLEAN MODE) and u.userId=ur.userId and u.userId=ud.userId";
Он ищет определенного пользователя по его имени, в то время как он связан с ответственным и делегатом, следовательно, users_responsibles
users_delegates
присоединиться
Теперь это работает хорошо только для небольшого числа имен, в то время как либо получает 0 строк, либо неожиданный результат, например, возвращая «mike» при поиске «alice» (на арабском)
Я долго искал, и все ответы были получены не более чем в 2012 году. Я пытался изменить ft_min_word_len
3, как предложено в некоторых комментариях без удачи.
Я прочитал много ответов, где говорится, что полный текст mysql не индексирует символы с кодировкой> 1000 байт.
Есть ли какое-либо решение для этого, все еще используя MySQL? Если нет, то есть ли другой способ сделать это?
Задача ещё не решена.
Других решений пока нет …