gpt4 book ai didi

mysql - 在 bool 模式下选择匹配无法正常工作

转载 作者:行者123 更新时间:2023-11-29 15:37:12 26 4
gpt4 key购买 nike

我有一个包含 300 万行的 BD。与id_table,和其他字段类型文本(id_songs,name_song)。我在“name_song”中有一个全文索引。

我的选择是

SELECT * FROM songs 
WHERE MATCH(name_song) AGAINST ('love' in boolean mode)

这没关系。但是当我运行时

SELECT * FROM songs 
WHERE MATCH(name_song) AGAINST ('one' in boolean mode)

这不显示结果。

但是

select * from songs 
where name_song like '%one%'

我有结果了。

为什么我只用一个词就没有结果?如果我有的话,什么时候使用?

最佳答案

看起来你的存储引擎是MyISAM。 MyISAM 有一个相当大的停用词列表。停用词是全文解析器在索引时忽略的单词。另外,one 是 MyISAM FTS 的停用词。

在此处查看停用词的完整列表:https://dev.mysql.com/doc/refman/8.0/en/fulltext-stopwords.html#fulltext-stopwords-stopwords-for-myisam-search-indexes

您可以按照以下说明覆盖此列表:

To override the default stopword list for MyISAM tables, set the ft_stopword_file system variable. (See Section 5.1.8, “Server System Variables”.) The variable value should be the path name of the file containing the stopword list, or the empty string to disable stopword filtering. The server looks for the file in the data directory unless an absolute path name is given to specify a different directory. After changing the value of this variable or the contents of the stopword file, restart the server and rebuild your FULLTEXT indexes.

关于mysql - 在 bool 模式下选择匹配无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58121814/

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