我查看了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"
根据我的理解,“香蕉和草莓”系列应该得到比其他两个更高的分数,因为有两个单词匹配?
答案 0 :(得分:0)
我刚在我的一张桌子上遇到过这种情况,其中一张不同的表格按预期提供结果。检查以确认您的表未设置为MyISAM(仅在匹配时返回1),您将希望InnoDB获得您的匹配返回的浮点值,以便您可以按匹配的排名进行排序。