#mysql #full-text-search
#mysql #полнотекстовый поиск
Вопрос:
итак, я пытаюсь создать простую поисковую систему, которая позволяет пользователю искать имя пользователя, адрес электронной почты, имя и фамилию.
Однако каждый раз, когда я запускаю следующее, он возвращает только russell.harrower вместо russellharrower и russell.harrower
SELECT *, MATCH(username) AGAINST ('russell') as score FROM
user_info WHERE MATCH(username) AGAINST ('russell')
Я не уверен, нужно ли мне указывать там статус «нравится» или что, поэтому подумал, что спрошу.
Я хочу, чтобы он упорядочивал весь sql по количеству баллов.
Комментарии:
1. Почему бы не использовать
LIKE
?SELECT * FROM user_info WHERE username LIKE '%russel%';
Ответ №1:
Вы пробовали использовать asterisk (подстановочный знак) в логическом режиме?
[...] AGAINST (' russell*' IN BOOLEAN MODE)
http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html
http://www.joedolson.com/boolean-query-in-mysql.php
/ редактировать: не используйте LIKE, особенно с % перед фразой, это очень медленно