如何在MYSQL中重置停用词?

时间:2009-04-28 07:46:29

标签: mysql database search full-text-search stop-words

我想在mysql中为FULLTEXT搜索重置停用词列表。我在我的系统中安装了WAMP Server,它有phpmyadmin来访问mysql。但我不知道如何重置phpmyadmin中的停止词。任何人都可以告诉我该怎么做。

我也http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_ft_stopword_file读了这个链接,但不知道怎么用这个???

5 个答案:

答案 0 :(得分:11)

我假设你正在使用WampServer

点击托盘图标,选择MySQL,然后点击my.ini。配置文件将在记事本中打开。转到文件末尾并添加此行(在端口行之后):

 ft_stopword_file=''

禁用停用词。如果要使用自定义停用词文件,请将该行替换为:

ft_stopword_file='path/to/stopword_file.txt'

(当然,设置停用词文件的路径)。

设置该行后,保存配置文件(文件 - >保存)。然后点击托盘图标,选择MySQL,然后选择Service,然后点击Restart Service

要确保您的配置正确完成,请在浏览器中打开phpMyAdmin,点击顶部的Variables标签,然后找到ft stopword file并查看设置为的值它

答案 1 :(得分:0)

MySQL附带的停用词列表(至少对于MyISAM)可以在MySQL的源代码中找到myisam/ft_static.c

另请注意,这些只是“英语”的停用词。据推测,其他语言的停用词在别处定义......

您可以使用注释中指出的ft_stopword_file指令覆盖或禁用默认的禁用词列表。 Full documentation here

答案 2 :(得分:0)

您可以在此处找到要使用的停用词列表:https://dev.mysql.com/doc/refman/5.6/en/fulltext-stopwords.html。我将此列表保存到文件中,并从MySQL配置文件中引用它(例如ft_stopword_file='path/to/stopword_file.txt')。

我从禁用词列表中删除了“it”和“us”,因为它们在我的问题域中表示“信息技术”和“美国”。

不幸的是,每次更改禁用词列表时,都必须重新启动MYSQL并重建全文索引。

答案 3 :(得分:0)

我遇到了同样的问题,我认为你不必重新编译任何东西,我已经读过你可以使用mysql控制台SET ft_stopword_file ='path / to / stopword_file.txt',这不需要重启你的服务器。但我不认为它会持续到下次重启,所以我想我会尝试配置文件,看看它是否有效

答案 4 :(得分:0)

我有同样的问题。 停用词文件必须包含在my.ini文件的[mysqld]部分下。

的[mysqld] ft_stopword_file ='D:/stop.txt'然后

修复表tablename为我工作。