MATCH () ПРОТИВ () вопросов - PullRequest
       1

MATCH () ПРОТИВ () вопросов

2 голосов
/ 01 августа 2010

У меня есть запрос MySQL следующим образом:

SELECT *, MATCH(songtitle) AGAINST('{keyword}') as Relevance FROM links WHERE approved = "true" AND MATCH(songtitle) AGAINST('{keyword}' IN BOOLEAN MODE) ORDER BY Relevance DESC, score DESC LIMIT 5

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

Например, у меня есть строка, в которой значение songtitle равно "Jay Z". У меня также есть несколько, содержащих имя "Джей Шон"

Поиск "Jay" или "Jay Z" не возвращает ни одного из этих результатов. Поиск "Jay Sean" дает ожидаемый и желаемый результат.

Полагаю, это как-то связано с небольшим количеством символов в "Jay" и "jay z"?

Есть какая-нибудь информация об этом?

Спасибо! Dave

1 Ответ

4 голосов
/ 01 августа 2010

Переменная, которую вы ищете, это ft_min_word_len, см. http://dev.mysql.com/doc/refman/5.1/en/fulltext-fine-tuning.html Перестройте ваши индексы впоследствии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...