gpt4 book ai didi

MySQL:为什么全文中的分数总是 1?

转载 作者:可可西里 更新时间:2023-11-01 07:54:28 26 4
gpt4 key购买 nike

如果我运行这个查询并打印每行的分数,它们总是 1:

以下是一些示例查询结果:

First     |  Last     | Score
------------------------------
Jonathan | Bush | 1
Joshua | Gilbert | 1
Jon | Jonas | 1

这是我运行的查询:

SELECT First, Last, MATCH(First, Last) AGAINST ('Jon' IN BOOLEAN MODE) AS score 
FROM users
WHERE MATCH(First, Last) AGAINST('Jon' IN BOOLEAN MODE)
ORDER BY score DESC;

最佳答案

BOOLEAN MODE 仅支持二进制答案,即无论搜索字符串是否出现在列中,都表示 0 或 1。要获得计算权重的小数结果,您必须在索引列上使用匹配。

您可以通过这种方式使用 bool 模式来获取您的体重:

SELECT *, ((1.3 * (MATCH(column1) AGAINST ('query' IN BOOLEAN MODE))) +
(0.6 * (MATCH(column2) AGAINST ('query' IN BOOLEAN MODE)))) AS relevance
FROM table WHERE ( MATCH(column1,column2) AGAINST
('query' IN BOOLEAN MODE) ) ORDER BY relevance DESC

bool 模式的优点是您可以在非索引列上使用它,但结果只能是 0,1,非 bool 模式返回十进制结果但只能应用于索引列...请参阅还有here .

关于MySQL:为什么全文中的分数总是 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6562460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com