J'ai une table appelée «entreprise» avec les données d'échantillonnage suivantes: lorsque j'exécute une requête comme p> Quel est le problème avec la dernière requête? p> Des idées? P> P>
4 Réponses :
On dirait que vous rencontrez dans la limite de longueur minimale, comme indiqué dans le MYSQL DOCS . P>
Ya comme je soupçonnais :( alors quelle est la solution?
Je ne suis pas de gourou mysql - mais je m'attendrais à ce que cette limite puisse être modifiée quelque part - Vérifiez via les paramètres du serveur / de la base de données / de la table.
Oui aurez-vous raison. dev.mysql.com/doc/refman/5.0/ EN / FULLTEXT-FINE-TUNING.HTML Mais ce sera un problème dans un environnement d'hébergement partagé où je n'aurai pas accès aux fichiers de configuration. :( Dang!
N'a pas l'air bien - le temps de changer vos états aux noms complets. :)
Mettez à jour le Notez que la suite des index doit être reconstruite. < / p> p> ft_min_word_len code> variable dans le fichier de configuration code> mysql:
Je ne trouve pas ft_min_word_len code> dans le fichier
my.cnf code>, pourquoi? (il convient de noter que j'utilise XAMPP) i>
Vous devez l'ajouter.
Recherche du Fulltext arrêter un mot commun, mais il est désactivé à l'aide de cette étape.
1: Ouvrez mon fichier My.ini dans le fichier de configuration MySQL. p>
2: placer ft_min_word_len = 1 ligne après [mysqld ] ligne dans mon.ini p> 3: redémarrez votre serveur p> 4: Réparez votre table en utilisant la commande ci-dessous p> Nom de table de réparation; P>
blockQuote> 5: Votre recherche fonctionne .... p> p>
Pour les futures références. Les réponses ci-dessus sont liées à Ainsi, pour fixer la longueur minimale des mots pour MyISAM CODE> MOISAM NON
INNODB code>).
innoDB code> vous avez besoin INNODB_FT_MIN_Toke_Size (valeur par défaut: 3)
show table status where `name` = 'table_name';
l 'a reconstruit l'index ( SOURCE ): P> alter table your_name drop index index_name;
alter table your_name add fulltext(field_name);
Bien que je ne sois pas sûr pourquoi vous avez un problème, je ne suggérerais pas qu'un environnement de production utilise ce type de requête si votre table pourrait devenir grande.
pourquoi donc? Comment suggéreriez-vous que je fais cela? J'ai besoin de faire correspondre si les utilisateurs recherchent '150 N Michigan' ou 'Michigan N 150 Il', etc. Fondamentalement un peu comme une recherche Google: p