2015-11-30 2 views
0

Я использую MySQL Boolean Полнотекстовый поиск для извлечения имени колледжа. Текст для поиска работы для некоторых значений, но не для значения «Others»MySQL Match Against In Boolean Mode ничего не возвращает

Вот мой запрос -

SELECT collegename FROM college 
    WHERE MATCH (collegename) 
    AGAINST ('+Pune* +institute* ' IN BOOLEAN MODE) 
     order by char_length(collegename) 
     LIMIT 10 

Этот запрос дает мне результат. Однако, следующий запрос не дает никакого результата

SELECT collegename FROM college 
    WHERE MATCH (collegename) 
    AGAINST ('+Others* ' IN BOOLEAN MODE) 
     order by char_length(collegename) 
     LIMIT 10 

Моя база данных имеет колледж с названием «Другие», до сих пор не дает никакого результата.

ID CollegeName Description 
XXX Others  NA 

Любая помощь будет очень признательна.

ответ

0

у вашего запроса AGAINST ('+Others* ' IN BOOLEAN MODE), поэтому вам нужно имя колледжа: SOMETHING + Others. Если вы только назначили имя другим, необходимо удалить первый плюс запроса.

AGAINST ('Others* ' IN BOOLEAN MODE) 
+0

Drako, '+' указывает, что слово должно присутствовать независимо от заказа. «Институт Пуне дал мне результат, который включал название колледжа, в котором содержались слова, независимо от их положения». 'http://www.mysqltutorial.org/mysql-boolean-text-searches.aspx' определяет '+' –

+0

У вас есть ** Pune institue ** как имя правильного результата? '+' присутствует независимо от порядка, но '*' необходимо назвать как ** Другие институт ** Если у вас есть только ** Другие **, попробуйте 'AGAINST ('+ Others' IN BOOLEAN MODE)' – Drako

+0

Я пробовал используя 'AGAINST ('+ Others' IN BOOLEAN MODE)', а также меняя название колледжа на 'Other Institute', еще не повезло –

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