MATCH..AGAINST的相关性得分无效(MySql)

时间:2016-06-29 13:41:15

标签: mysql

MATCH..AGAINST的相关性得分无效。

创建了一个有2行的虚拟表。

虚拟表

ROW1 => 'Leela Hayat Marriot'

行2 => '美洲最佳价值'

查询1:

SELECT MATCH(col1)AGAINST('Leela * Hayat *'在BOOLEAN模式中)AS相关性 FROM table1 在哪里比赛(col1)反对('Leela * Hayat *'在布尔模式中);

结果:

相关性

2

QUERY2:

SELECT MATCH(col1)AGAINST('美洲*最佳*'在布尔模式中)作为相关性 FROM table1 在哪里比赛(col1)反对('美洲*最佳*'在布尔模式中);

结果:

相关性

1

Query1工作正常,但为什么查询2不起作用?

为什么我在Query2中获得相关性1而不是2,因为Americas和Best都出现在列中。

由于

1 个答案:

答案 0 :(得分:0)

http://dev.mysql.com/doc/refman/5.7/en/fulltext-stopwords.html

'BEST'列在禁用词列表中。

http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_ft_stopword_file

<强> ft_stopword_file:

从中读取MyISAM表上全文搜索的停用词列表的文件。除非给出绝对路径名以指定其他目录,否则服务器将在数据目录中查找该文件。使用文件中的所有单词;评论不予尊重。默认情况下,使用内置的停用词列表(在storage / myisam / ft_static.c文件中定义)。将此变量设置为空字符串('')将禁用停用词过滤。

我禁用了停用词列表,现在查询2工作正常。

感谢您的帮助。