当前位置:  开发笔记 > 后端 > 正文

MySQL全文搜索分数解释

如何解决《MySQL全文搜索分数解释》经验,为你挑选了2个好方法。

我最近一直在尝试全文搜索,并对分数值的含义感到好奇.例如,我有以下查询:

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吗?

只是希望得到一些启示.谢谢.



1> Vegard Larse..:

以查询"word1 word2"为例.

BOOLEAN模式表示您的整个查询与文档匹配(例如,它包含word1和word2).布尔模式是严格匹配.

通常使用的公式基于矢量空间搜索模型.非常简化,它确定了两个措施来确定一个单词对查询的重要程度.术语频率(文档中经常出现的术语比其他术语更重要)和逆文档频率(在许多文档中出现的术语的权重低于在少数文档中出现的术语).这称为tf-idf,用作向量空间模型的基础.这些分数构成了矢量空间模型的基础,其他人可以完全解释.:)



2> 小智..:

通常,相关性基于每行与给予搜索的单词的匹配程度.确切的值将取决于许多事情,但它确实只对比较同一查询中的其他相关值.

如果你真的想要它背后的数学,你可以在内部手册中找到它.

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有