MySQL MATCH ПРОТИВ не дает результата - PullRequest
0 голосов
/ 17 декабря 2018

Я сделал заявление MySQL с MATCH ПРОТИВ.Я не привык использовать эту функцию, но она выглядит очень просто.

Но когда я использую этот запрос:

SELECT productnaam, 
       productomschrijving, 
       MATCH (productnaam, productomschrijving) AGAINST('Kop van Jut'), 
       MATCH (productnaam, productomschrijving) AGAINST('Springkussen')
FROM product
WHERE product.productid in (508, 578)

, я получаю следующие выходные данные: enter image description here

Я действительно не понимаю, почему я не получаю значение больше нуля для «Kop van Jut».Я также пытался использовать двойные кавычки, знак плюс и так далее.Ничего не работает.

Может кто-нибудь сказать мне, что я делаю не так?

1 Ответ

0 голосов
/ 18 декабря 2018

Причина, по которой 'Kop van Jut' возвращает 0, состоит в том, что слова в строке поиска слишком короткие.Для таблиц MyISAM минимальная длина слова, которая учитывается при полнотекстовом поиске, составляет 4 символа.Из руководства :

  • Некоторые слова игнорируются при полнотекстовом поиске:

    Любое слишком короткое слово игнорируется.Минимальная длина слов по умолчанию, которые можно найти при полнотекстовом поиске, составляет три символа для индексов поиска InnoDB или четыре символа для MyISAM.

Если вы можете установить системные переменные,вы можете изменить значение ft_min_word_len до 3, чтобы ваше совпадение работало с этой конкретной строкой поиска.

...