2013-06-20 4 views
1
SELECT * 
FROM t_book AS book 
WHERE MATCH (
b_title, author 
) 
AGAINST (
'med') 

После выполнения над sql командой отображается пустой результат, но после пробега ниже кода sql. он показывает все результаты. * Это показывает результат, если длина ключевого слова больше 3 символов например: «Medi» показывает результатыПолный текст поиска - ключевое слово length

SELECT * 
FROM t_book AS book 
WHERE MATCH (
b_title, author 
) 
AGAINST (
'medical') 

Не могли бы вы объяснить это. Спасибо.

+2

Typing это название в Google принес мне это: HTTP://dev.mysql.com/doc/refman/5.1/en/fulltext-fine-tuning.html – deceze

+0

Большое спасибо – iswan

ответ

2

Частота поиска для поиска часто бывает минимальной. Значение по умолчанию для MySQL - это длина ключевого слова 3. Возможно, ваш администратор MySQL задал большую минимальную длину слова? Если это так, символ 3 слова не будет использоваться в запросе соответствия.

Вы можете найти настройки в следующем разделе в файле конфигурации MySQL:

[mysqld] 
ft_min_word_len=3 

Вы можете прочитать больше об этом здесь: http://dev.mysql.com/doc/refman/5.0/en/fulltext-fine-tuning.html

+0

ok, но тогда как вы перестраиваете индекс полнотекстового поиска, как предлагает руководство? – user3192948

+0

Вы можете найти ответ здесь: http://stackoverflow.com/questions/14646738/set-new-value-for-ft-min-word-len-fulltext-in-mysql –

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