FULLTEXT

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : FULLTEXT

par Hubert Roksor » 28 sept. 2006, 14:35

Tu as dû exécuter le "ADD INDEX ..." trois fois et MySQL a ajouté 3 indices. Supprime title_2 et title_3, puis fais un REPAIR TABLE ... USE_FRM pour voir si ça aide ton problème. (ça recrée les indices FULLTEXT, entre autres)

Code : Tout sélectionner

ALTER TABLE tracks DROP INDEX title_2, DROP INDEX title_3; REPAIR TABLE tracks USE_FRM

par ramy » 28 sept. 2006, 10:58

CREATE TABLE `tracks` (
`id` int(13) NOT NULL auto_increment,
`title` varchar(255) default NULL,
`artist` varchar(255) default NULL,
`artist_id` int(13) default NULL,
`album` varchar(255) default NULL,
`duration` varchar(12) default NULL,
`bitrate` varchar(6) default NULL,
`url` text,
`length` int(13) default NULL,
`album_id` int(13) default NULL,
`ecoute` int(13) NOT NULL default '0',
`edit` enum('y','n') NOT NULL default 'n',
KEY `id` (`id`),
FULLTEXT KEY `title` (`title`,`artist`,`album`),
FULLTEXT KEY `title_2` (`title`,`artist`,`album`),
FULLTEXT KEY `title_3` (`title`,`artist`,`album`)
) TYPE=MyISAM

D'où viennent les lignes title_2 et title_3 ?

par Cyrano » 28 sept. 2006, 07:29

Lorsque tu as modifié l'index de ces trois colonnes, quelle réponse as-tu obtenu en retour ?

Petit test : fais un SHOW CREATE TABLE sur la table en question afin de vérifier que les index FULL TEXT y sont bien indiqués.

FULLTEXT

par ramy » 28 sept. 2006, 01:26

Bonjour,
je rencontre un probleme pour realiser une recherche FULLTEXT sur une de mes tables. Je n'avais pas prevu a lorigine d'utiliser cette fonction, j'ai donc du commencer par inserer l'index fulltext :
ALTER TABLE tracks ADD FULLTEXT (title,artist,album);

La requete s'execute en quelques minutes mais lorsque que je tente une recherche avec la commande :
SELECT * FROM tracks WHERE MATCH (title,artist,album) AGAINST ('saez');

Mysql me repond :
#1191 - Can't find FULLTEXT index matching the column list

Merci de votre aide...

edit : j'utilise bien MyISAM pour cette table...