2015-10-20 2 views
0

Если я ищу термин «rexx», тогда результат отобразит все записи, похожие на поисковый запрос. Например:Полнотекстовый поиск MYSQL не работает должным образом

 
Search Term: rexx 
Records: 
1. Candyrexx 
2. Paidrexx 
3. PayPal Rexx 
4. Rexio 
5. to Rexx 
6. Rexxio 

Result: 1, 2, 3, 5, 6 

Я попытаюсь с запросом SELECT * FROM user WHERE MATCH(name) AGAINST('+rexx' IN BOOLEAN MODE);, но я получаю записи (3, 5, 6) в качестве результата. В результате записи 1 и 2 отсутствуют.

+0

Как ясно объясняется в документации, символ подстановочного знака идет только в конце слова, а не в начале. –

+0

Почему бы не использовать предложение 'LIKE'? – RubahMalam

ответ

0

Это слишком долго для комментария. Подстановочный знак поддерживается только в конце слова. Как documentation указывает:

*

Звездочка служит усечения (или шаблона) оператора. В отличие от других операторов, оно добавляется к слову, на который должно быть оказано влияние. Слова совпадают, если они начинаются со слова, предшествующего оператору *.

Полный текстовый поиск MySQL не поддерживает функциональность, которую вы ищете. Вы можете использовать LIKE, но это обычно намного хуже.

Смежные вопросы