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都出现在列中。
由于
答案 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工作正常。
感谢您的帮助。