Come resettare parole stop in MySQL?
-
18-09-2019 - |
Domanda
Voglio ripristinare elenco di parole sosta a mysql per ricerca full-text. Ho installato WAMP Server nel mio sistema che hanno phpMyAdmin per accedere a MySQL. Ma non so come ripristinare parola fermata in phpMyAdmin. Qualcuno può dirmi come fare.
Ho anche http: // dev. mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_ft_stopword_file~~V~~singular~~3rd leggere questo link, ma non sanno ho OMC utilizzare questo ???
Soluzione
Presumo che si sta utilizzando WampServer .
Fare clic sull'icona della barra, selezionare MySQL
, quindi fare clic su my.ini
. Il file di configurazione si aprirà in blocco note. Vai alla fine del file e aggiungere questa riga (dopo la linea di porta):
ft_stopword_file=''
per disabilitare le parole di stop. Se si desidera utilizzare il file stop-parola personalizzata, sostituire quella linea con:
ft_stopword_file='path/to/stopword_file.txt'
(impostare il percorso del file di stopword, ovviamente).
Dopo aver impostato questa linea, salvare il file di configurazione (File -> Save). Quindi fare clic sull'icona della barra, selezionare MySQL
, quindi Service
, quindi fare clic su Restart Service
.
Per garantire che la configurazione è fatto correttamente, phpMyAdmin
aperta nel browser, fare clic sulla scheda Variables
in alto, poi trovare ft stopword file
e vedere i valori che è impostato per esso.
Altri suggerimenti
Ho avuto lo stesso problema, non penso che si debba ricompilare nulla, ho letto che è possibile utilizzare la console mysql SET ft_stopword_file = 'path / to / stopword_file.txt', che non dovrebbe richiedere il riavvio il server. ma io don; t pensano che durerà fino al prossimo riavvio, quindi credo che proverò il file di configurazione, e vedere se funziona
L'elenco di parole non significative che le navi con MySQL (almeno per MyISAM) possono essere trovati in fonte di MySQL, in myisam/ft_static.c
.
Si noti inoltre che questi sono solo stopwords l' 'inglese'. Presumibilmente, stopword per altre lingue sono definiti altrove ...
È possibile ignorare o disattivare l'elenco predefinito stopwords utilizzando la direttiva ft_stopword_file
come sottolineato nei commenti. documentazione completa qui .
I WASS che hanno lo stesso problema. stopword file deve essere incluso in [mysqld] sezione del file my.ini.
[mysqld] ft_stopword_file = 'D: /stop.txt' poi
Tavolo riparazione nometabella ha lavorato per me.
È possibile trovare un elenco di parole stop da utilizzare qui: https://dev.mysql.com/doc/refman/5.6/en/fulltext-stopwords.html . Ho salvato questa lista in un file e fatto riferimento dal file di configurazione di MySQL (ad esempio ft_stopword_file='path/to/stopword_file.txt'
).
Ho rimosso "it" e "ci" dalla lista stopwords perché significa "Information Technology" e "Stati Uniti" nel mio dominio del problema.
Purtroppo, ogni volta che si cambia la lista stopword è necessario riavviare MYSQL e ricostruire l'indice di testo completo.