mysql匹配不给出结果

dzhpxtsq  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(311)

我做了一个mysql语句,并与之匹配。我不习惯用这个函数,但看起来很简单。
但当我使用这个查询时:

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

我得到这些输出:

我真的不明白为什么我不能得到一个大于零的值。我也试过用双引号,加号等等。什么都不管用。
有人能告诉我我做错了什么吗?

xytpbqjk

xytpbqjk1#

原因是什么 'Kop van Jut' 如果搜索字符串中的单词太短,则返回0。对于myisam表,全文搜索中考虑的最小字长为4个字符。根据手册:
在全文搜索中,某些词被忽略:
任何太短的词都会被忽略。通过全文搜索找到的单词的默认最小长度对于innodb搜索索引是三个字符,对于myisam是四个字符。
如果可以设置系统变量,则可以调整 ft_min_word_len 减少到3,使您的匹配工作在特定的搜索字符串。

相关问题