gpt4 book ai didi

mysql - 全文搜索工作针对艺术家而不是标题

转载 作者:行者123 更新时间:2023-11-29 13:39:18 25 4
gpt4 key购买 nike

我在全文搜索方面遇到问题。我有两张 table :

歌曲

+------------+-----------------------+------------+-----------+
| id_canzone | canzone | id_artista | canzone |
+------------+-----------------------+------------+-----------+
| 107 | Can U Believe | 15 | I'm Sorry |
+------------+-----------------------+------------+-----------+

艺术家

+------------+---------+
| id_artista | artista |
+------------+---------+
| 15 | Akon |
+------------+---------+

如果我使用全文搜索来搜索艺术家,我不会遇到任何问题。

SELECT *,MATCH(artista) AGAINST('Akon Can U Believe.' ) FROM artists

+------------+---------+------------------------------------------------+
| id_artista | artista | MATCH(artista) AGAINST('Akon Can U Believe.' ) |
+------------+---------+------------------------------------------------+
| 15 | Akon | 1.9237866401672363 |
+------------+---------+------------------------------------------------+

但是当我尝试使用歌曲表

SELECT id_canzone,canzone,MATCH(canzone) AGAINST('Akon Can U Believe.' ) FROM songs

+------------+---------------+------------------------------------------------+
| id_canzone | canzone | MATCH(canzone) AGAINST('Akon Can U Believe.' ) |
+------------+---------------+------------------------------------------------+
| 104 | Can U Believe | 0 |
+------------+---------------+------------------------------------------------+

我已经减少了 ft min word len 参数,尝试重建索引。没有任何改变。

最佳答案

检查Mysql stopword list .

“Can”和“Believe”都是停用词,而“U”太短,因此您的匹配结果将返回 0。

如果您想使用全文搜索音乐标题,您必须修改停用词列表或完全禁用它。

参见fulltext fine tuning关于如何做到这一点。

测试全文时,请确保表中有足够的行。无论您的停用词自定义设置如何,出现在超过 50% 行中的单词都会被视为停用词。

关于mysql - 全文搜索工作针对艺术家而不是标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18305557/

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