gpt4 book ai didi

MySQL - 全文搜索

转载 作者:行者123 更新时间:2023-11-30 23:04:06 25 4
gpt4 key购买 nike

我正在使用带有两个字段(名称和别名)的全文索引的 MySQL 数据库。

这是一个视频游戏数据库

代码:

SELECT name,MATCH (name,aliases) AGAINST ('inFamous: Second Son') AS relevance
FROM games_search
ORDER BY relevance DESC;

通过这个查询,我得到以下结果

代码:

inFamous 2                     9.150630950927734
inFamous: Second Son 9.150630950927734
inFamous 8.947185516357422
inFamous: Festival of Blood 8.947185516357422

为什么前两个结果具有相同的相关性?

最佳答案

MySQL 中的全文搜索会忽略两种类型的词:停用词和短于某个阈值的词。

您可以阅读停用词列表here .在您的案例中特别感兴趣的是 'second' 这个词。

默认情况下,只保留 4 个字符或更长的单词用于搜索目的。因此,'son' 被忽略。因此,您的查询等同于:

SELECT name, MATCH (name,aliases) AGAINST ('inFamous:') AS relevance
FROM games_search
ORDER BY relevance DESC;

我不确定为什么这些比最后两个高。我推测相关性是将完美匹配(减去停用词和短词)视为略高于不完美匹配。

关于MySQL - 全文搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22606940/

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