MATCH..AGAINST的相关性分数不起作用(MySql)

MATCH..AGAINST的相关性分数不起作用。

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

虚拟表

Row1 =>'Leela Hayat Marriot'

Row2 =>'美洲最佳价值'

查询1:

SELECT MATCH(COL1)AGAINST( '*里拉哈亚特*' IN BOOLEAN MODE)AS关联FROM表1 WHERE MATCH(COL1)AGAINST( '*里拉哈亚特*' IN BOOLEAN MODE);

结果:

关联

2

QUERY2:

SELECT MATCH(col1)AGAINST('Americas * Best *'IN BOOLEAN MODE)AS与table1的相关性匹配(col1)('Americas * Best *'IN BOOLEAN MODE);

结果:

关联

1

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

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

谢谢


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工作正常。

感谢帮助。

链接地址: http://www.djcxy.com/p/13113.html

上一篇: relevance score of MATCH..AGAINST is not working (MySql)

下一篇: Efficient search with partial word match and relevancy score (FULLTEXT)