我想在页面上显示相关产品。我使用以下查询:
SELECT item.*, MATCH (item.title) AGAINST ('M' IN BOOLEAN MODE) AS relevancy
FROM __items AS item
ORDER BY relevancy DESC
表 __items 有一些项目(id、title)和一个只有 M 的项目。
我尝试使用星号('M*')
,但没有用。谢谢你的帮助!
我想在页面上显示相关产品。我使用以下查询:
SELECT item.*, MATCH (item.title) AGAINST ('M' IN BOOLEAN MODE) AS relevancy
FROM __items AS item
ORDER BY relevancy DESC
表 __items 有一些项目(id、title)和一个只有 M 的项目。
我尝试使用星号('M*')
,但没有用。谢谢你的帮助!
ft_min_word_length=1
您应该减少my.cnf 上的MySQL 参数。
我将其添加为答案,因为它不同;ft_min_word_length
与 MISAM 表有关,但与 InnoDB 不同:
要索引的单词的最小和最大长度由 InnoDB 搜索索引的 innodb_ft_min_token_size 和 innodb_ft_max_token_size 以及 MyISAM 的 ft_min_word_len 和 ft_max_word_len 定义。
这是基于https://dev.mysql.com/doc/refman/8.0/en/fulltext-fine-tuning.html(MySQL的 v8)的修订手册链接