为什么 MATCH return 整数相关性而不是浮点数

Why does MATCH return integer relevance instead of float

我查看了 mysql 的布尔全文搜索文档,其中写道,MATCH 将 return 一个浮点值,以及一个示例。我发现在其他任何地方都提到了这一点,MATCH 将 return 一个浮点数。

但是当我运行这个查询

select 
match(j.name) against('banana* strawberr* coconut*' IN BOOLEAN MODE) as score
from juices j
order by score desc

我得到 0 或 1。

这是一些得分为 1 的行:

"Banana and strawberry flavor" 
"Apple and banana juice" 
"Coconuts with pickles"

根据我的理解,"banana and strawberry" 行应该比其他两行获得更高的分数,因为有两个单词匹配?

我刚刚在我的一个 table 上遇到过这种情况,另一个 table 提供了预期的结果。检查以确认您的 table 未设置为 MyISAM(匹配时仅 returns 1),您将希望 InnoDB 获得匹配返回的浮点值,以便您可以按匹配排名排序。