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



我已经查看了mysql的布尔全文搜索文档,并且写道,MATCH将返回一个浮点值,以及一个示例。在我发现对此状态的引用相同的其他任何地方,MATCH 将按相关性分数返回浮点数。

但是当我运行此查询时

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"

在我的理解中,"香蕉和草莓"行应该比其他两条得到更高的分数,因为有两个词匹配?

我刚刚在我的一个表上遇到了这种情况,其中另一个表按预期提供了结果。检查以验证您的表未设置为 MyISAM(仅在匹配时返回 1),您需要 InnoDB 获取匹配返回的浮点值,以便您可以按匹配的排名排序。

相关内容

  • 没有找到相关文章

最新更新