Mysql
 sql >> Database >  >> RDS >> Mysql

Problema di query MySQL FULLTEXT

Un indice di testo completo è l'approccio sbagliato per quello che stai cercando di fare. Ma il tuo problema specifico è la lunghezza minima della parola, che è 3 o 4 (per impostazione predefinita), a seconda del finale. Questo è spiegato nella documentazione , in particolare qui .

Dopo aver reimpostato il valore, dovrai ricreare l'indice.

Sospetto che tu stia cercando di essere intelligente. Probabilmente hai sentito il consiglio "non archiviare elenchi di cose in stringhe delimitate". Ma invece hai risposto "ah, ma posso usare un indice di testo completo". puoi , anche se scoprirai che le query più complesse non vengono ottimizzate molto bene.

Basta farlo bene. Crea la tabella di associazione user_skills con una riga per utente e per competenza dell'utente. Lo troverai più facile da usare nelle query, per prevenire duplicati, per ottimizzare le query e così via.