Вопрос

Я хочу сбросить список стоп-слов в mysql для ПОЛНОТЕКСТОВОГО поиска.Я установил сервер WAMP в своей системе, у которого есть phpmyadmin для доступа к mysql.Но я не знаю, как сбросить стоп-слово в phpmyadmin.Кто-нибудь, пожалуйста, может сказать мне, как это сделать.

Я также http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_ft_stopword_file прочтите эту ссылку, но не знаете, как ею можно воспользоваться ???

Это было полезно?

Решение

Я предполагаю, что вы используете Сервер вампиров.

Щелкните значок в трее, выберите MySQL, затем нажмите my.ini.Файл конфигурации откроется в блокноте.Перейдите в конец файла и добавьте эту строку (после строки порта).:

 ft_stopword_file=''

чтобы отключить стоп-слова.Если вы хотите использовать пользовательский файл stop-word, замените эту строку на:

ft_stopword_file='path/to/stopword_file.txt'

(разумеется, укажите путь к файлу stopword).

После установки этой строки сохраните файл конфигурации (Файл -> Сохранить).Затем щелкните значок в трее, выберите MySQL, тогда Service, затем нажмите Restart Service.

Чтобы убедиться, что ваша настройка выполнена правильно, откройте phpMyAdmin в браузере нажмите на Variables вкладка вверху, затем найдите ft stopword file и посмотрите, какие значения для него установлены.

Другие советы

У меня такая же проблема, я не думаю, что вам нужно что-либо перекомпилировать, я читал, что вы можете использовать консоль mysql с набором ft_stopword_file ='path/to/stopword_file.txt ', это не должно требовать перезапуска вашего сервера.но я не думаю, что это продлится до следующего перезапуска, поэтому, пожалуй, я попробую конфигурационный файл и посмотрю, работает ли он

Список стоп-слов, с которыми поставляется MySQL (по крайней мере, для MyISAM), можно найти в исходном коде MySQL, в myisam/ft_static.c.

Обратите также внимание, что это только "английские" стоп-слова.Предположительно, стоп-слова для других языков определены в другом месте...

Вы можете переопределить или отключить список стоп-слов по умолчанию, используя ft_stopword_file директива, как указано в комментариях. Полная документация здесь.

у меня была такая же проблема.файл стоп-слов должен быть включен в раздел [mysqld] в файле my.ini.

[mysqld] ft_stopword_file = 'D:/stop.txt ' затем

восстановить таблицу tablename сработало для меня.

Вы можете найти список стоп-слов для использования здесь: https://dev.mysql.com/doc/refman/5.6/en/fulltext-stopwords.html.Я сохранил этот список в файл и сослался на него из конфигурационного файла MySQL (например ft_stopword_file='path/to/stopword_file.txt').

Я удалил "это" и "нас" из списка ключевых слов, потому что в моей проблемной области они означают "Информационные технологии" и "Соединенные Штаты".

К сожалению, каждый раз, когда вы меняете список стоп-слов, вам приходится перезапускать MYSQL и перестраивать полнотекстовый индекс.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top