题
我最近一直在尝试全文搜索,并对分数值的含义感到好奇。例如,我有以下查询:
SELECT table. * ,
MATCH (
col1, col2, col3
)
AGAINST (
'+(Term1) +(Term1)'
) AS Score
FROM table
WHERE MATCH (
col1, col2, col3
)
AGAINST (
'+(Term1) +(Term1)'
)
在得分的结果中,我看到一个查询的结果,在0.4667041301727到11.166275978088之间。我认为这是MySQL相关的想法(权重越高)。
我没有得到的是MySQL如何得出这个分数。为什么数字不作为小数或其他东西返回?
如果我运行查询“IN BOOLEAN MODE”怎么办呢?得分总是返回1或0吗?不是所有结果都是1?
希望得到一些启示。感谢。
解决方案
一般来说,相关性取决于每行与搜索词的匹配程度。确切的值取决于很多事情,但它实际上只对比较同一查询中的其他相关值。
如果你真的想要它背后的数学,你可以在内部手册。
不隶属于 StackOverflow