Comment réinitialiser les mots d'arrêt en MYSQL?
-
18-09-2019 - |
Question
Je veux réinitialiser la liste de mots d'arrêt dans une base MySQL pour la recherche de texte intégral. J'ai installé WAMP Server dans mon système qui phpMyAdmin pour accéder à MySQL. Mais je ne sais pas comment réinitialiser mot d'arrêt dans phpMyAdmin. Quelqu'un peut-il s'il vous plaît me dire comment faire.
J'ai aussi http: // dev. mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_ft_stopword_file~~V~~singular~~3rd lire ce lien, mais ne savent pas ho omc utiliser cette ???
La solution
Je suppose que vous utilisez WampServer .
Cliquez sur l'icône de la barre, sélectionnez MySQL
, puis cliquez sur my.ini
. Le fichier de configuration s'ouvre dans le bloc-notes. Allez à la fin du fichier et ajoutez cette ligne (après la ligne de port):
ft_stopword_file=''
pour désactiver les mots d'arrêt. Si vous voulez utiliser le fichier stop-mot sur mesure, remplacer cette ligne avec:
ft_stopword_file='path/to/stopword_file.txt'
(définir le chemin du fichier de mots vides, bien sûr).
Après avoir défini cette ligne, enregistrez le fichier de configuration (Fichier -> Enregistrer). Cliquez ensuite sur l'icône, sélectionnez MySQL
, puis Service
, puis cliquez sur Restart Service
.
Pour vous assurer que votre configuration est faite correctement, phpMyAdmin
ouvert dans le navigateur, cliquez sur l'onglet Variables
en haut, puis trouver ft stopword file
et voir les valeurs qui définissent à lui.
Autres conseils
J'ai le même problème, je ne pense pas que vous ayez à recompiler quoi que ce soit, je l'ai lu que vous pouvez utiliser la console mysql SET ft_stopword_file = « path / to / stopword_file.txt », qui ne devrait pas avoir besoin de redémarrer votre serveur. mais je ne t pense que ça va durer jusqu'à ce que le prochain redémarrage, donc je suppose que je vais essayer le fichier de configuration, et voir si cela fonctionne
La liste des mots vides que les navires MySQL avec (au moins pour MyISAM) se trouvent dans la source de MySQL, en myisam/ft_static.c
.
Notez également que ce ne sont que les mots vides « anglais ». On peut supposer que d'autres langues pour les mots vides sont définis ailleurs ...
Vous pouvez modifier ou désactiver la liste des mots interdits par défaut en utilisant la directive ft_stopword_file
comme l'a souligné dans les commentaires. Documentation complète .
i Wass ayant le même problème. fichier section doit mots vides être inclus dans [mysqld] dans le fichier my.ini.
[mysqld] ft_stopword_file = 'D: /stop.txt' alors
Tableau de réparation tablename a fonctionné pour moi.
Vous pouvez trouver une liste de mots d'arrêt à utiliser ici: https://dev.mysql.com/doc/refman/5.6/en/fulltext-stopwords.html . J'ai sauvé cette liste à un fichier et référencé à partir du fichier de configuration MySQL (par exemple ft_stopword_file='path/to/stopword_file.txt'
).
je l'ai enlevé « il » et « nous » de la liste des mots interdits parce qu'ils signifie « Technologies de l'information » et « États-Unis » dans mon domaine de problème.
Malheureusement, chaque fois que vous modifiez la liste des mots vides, vous devez redémarrer MYSQL et la reconstruction de l'index de texte intégral.