2014-01-31 6 views
0

У меня есть стол 'table1'. И в нем есть запись:Mysql 'MATCH AGAINST' не получает правильный ответ

type id title   description     keywords hidden 
poll 12 Who is best  Poll for selecting best leader 

У меня есть этот запрос:

SELECT * FROM `table1` WHERE MATCH(`title`,`description`,`keywords`,`hidden`) AGAINST ('Who is best' IN BOOLEAN MODE) 

В то время как я выполнения запроса, то вернуть нулевой результат, но не ошибка

Что случилось с этим запросом? он должен вернуть одну существующую запись, не так ли?

Есть ли какие-либо дополнительные настройки необходимы для таблицы, в то время как мы используем «IN BOOLEAN MODE»

ответ

1

Некоторые общие слова игнорируются. См. Список stopword, который содержит все три слова поиска.

Кроме того, слова длиной менее 4 символов не индексируются.

Вы можете принять это, или вы можете настроить полный текстовый поиск, изменив список стоп-кадров или изменив ограничение длины для проиндексированных слов.

How to modify the stopword list.

How to modify shortest/longest word length in a full text index

Я также рекомендую прочитать the manual on IN BOOLEAN MODE.

+0

Кроме того, слова не более 4 символов автоматически исключаются. –

+0

@GordonLinoff, но здесь более 4 символов – Linto

+0

@Linto. , , «Кто» и «есть» игнорируются. «Лучшее» - это слово-стоп. –

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