我想在mysql中为FULLTEXT搜索重置停用词列表。我在我的系统中安装了WAMP Server,它有phpmyadmin来访问mysql。但我不知道如何重置phpmyadmin中的停止词。任何人都可以告诉我该怎么做。
我也http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_ft_stopword_file读了这个链接,但不知道怎么用这个???
答案 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)
的[mysqld] ft_stopword_file ='D:/stop.txt'然后
修复表tablename为我工作。