1

我查看了 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"

在我的理解中,“香蕉和草莓”这行应该比其他两个得分更高,因为有两个单词匹配?

4

1 回答 1

0

我刚刚在我的一张桌子上经历了这一点,另一张桌子按预期提供了结果。检查以验证您的表未设置为 MyISAM(仅在匹配时返回 1),您将希望 InnoDB 在匹配时获得一个浮点值,以便您可以按匹配的排名进行排序。

于 2017-03-15T21:22:00.727 回答