Page 1 sur 2

Probléme Index Fulltext

Posté : 28 mai 2010, 10:29
par spidercrash
bonjour a tous suite a un post effectué sur la partie php je dévie vers le SQL c'est pour cela que je me suis permit de reposter dans la bonne section :).

dans ma requete sql que voici
"SELECT DISTINCT COUNT(titreannonce) FROM annonces WHERE MATCH (titreannonce,descriptionannonce)  AGAINST ('$Mot')";
et ma seconde
SELECT distinct titreannonce,descriptionannonce FROM annonces
        WHERE MATCH (titreannonce,descriptionannonce)  AGAINST ('$Mot')
        ORDER by titreannonce ASC
j'utilise c'est requete pour mon moteur de recherche.
je souhaiterai faire une recherche aussi bien sur les mots utilisés dans le titre ou dans la description.
pour cela dans MATCH j'ai placer mes deux champs de ma table.
Mes deux champs sont bien en FULLTEXT.
cependant dans mysql lorsque j'éxécute une requete pour faire un test il me dit :

Code : Tout sélectionner

#1191 - Can't find FULLTEXT index matching the column list
je ne voit pas d'ou peut venir le problème si quelqu'un pourrai m'aiguiller sil vous plait , faut til que je reconstruise les index fulltext ?
exemple : REPAIR TABLE annonces QUICK;

merci pour votre aide :priere:

Re: Probléme Index Fulltext

Posté : 28 mai 2010, 10:53
par stealth35
fais un
SHOW INDEX FROM annonces

Re: Probléme Index Fulltext

Posté : 28 mai 2010, 12:51
par spidercrash
cela me donne

annonces 1 titreannonce 1 titreannonce NULL NULL NULL NULL FULLTEXT
annonces 1 descriptionannonce 1 descriptionannonce NULL NULL NULL NULL FULLTEXT

cela est bien déclarer je voit pas d'ou peut venir le problème

Re: Probléme Index Fulltext

Posté : 28 mai 2010, 16:34
par mojorisin
Bonjour,
pour utiliser les deux champs à la fois dans le prédicat MATCH vous devez les déclarer dans le même index :
ALTER TABLE `annonces` ADD FULLTEXT `full` (
`titreannonce` ,
`descriptionannonce`
)

Re: Probléme Index Fulltext

Posté : 30 mai 2010, 14:50
par spidercrash
probléme bizarre

dans ma requete lorsque j'éxécute cela
SELECT DISTINCT COUNT(titreannonce) FROM annonces WHERE MATCH (titreannonce,descriptionannonce)  AGAINST ('$Mot')
et que je remplace Mot par terrain qui est un mot bien présent dans une de mes annonces.
ceci me retourne aucun enregistrement alors que avant cela fonctionné trés bien.
du jour au lendemain plus rien.
a savoir que j'ai appeler OVH pour qu'il change le ft_min_word_len a 3 au lieu de 4.
cependant cela n'a pas était fait.

mais impossible de savoir se qui cloche mais deux champs titreannonce et descript sont bien en fulltext pas de problème.

Avait vous une idée pour que je face quoi ? merci de votre aide

Re: Probléme Index Fulltext

Posté : 30 mai 2010, 18:07
par spidercrash
j'ai essayer de réparer la table en faisant
REPAIR TABLE annonces QUICK;
mais toujours rien

Re: Probléme Index Fulltext

Posté : 30 mai 2010, 19:19
par stealth35
dans ton phpmyadmin ca marche ?

Re: Probléme Index Fulltext

Posté : 30 mai 2010, 19:46
par spidercrash
non justement j'ai testé par là aussi mais rien du tout cela reste toujours a zero

Re: Probléme Index Fulltext

Posté : 31 mai 2010, 00:27
par stealth35
non justement j'ai testé par là aussi mais rien du tout cela reste toujours a zero
ta requête MATCH ou REPAIR ?

Re: Probléme Index Fulltext

Posté : 31 mai 2010, 08:37
par spidercrash
La requete MATCH, me donne toujours un resultat null.
et j'ai lancer également un repair ma cela n'a rien changé

Re: Probléme Index Fulltext

Posté : 31 mai 2010, 10:09
par stealth35
La requete MATCH, me donne toujours un resultat null.
et j'ai lancer également un repair ma cela n'a rien changé
passe la structure de ta base, je vais tester :wink:

Re: Probléme Index Fulltext

Posté : 31 mai 2010, 12:50
par spidercrash
Merci pour ton aide voici la table annonces et le contenu pour que tu puisse faire un test, encore merci d'avance
CREATE TABLE IF NOT EXISTS `annonces` (
  `numannonce` int(8) NOT NULL auto_increment,
  `departement` varchar(50) NOT NULL,
  `region` varchar(50) NOT NULL,
  `categorie` varchar(50) NOT NULL default '',
  `typeannonce` varchar(50) NOT NULL default '',
  `souscategorie` varchar(50) NOT NULL default '',
  `titreannonce` varchar(50) NOT NULL default '',
  `descriptionannonce` text NOT NULL,
  `prix` varchar(50) NOT NULL default '',
  `date` datetime NOT NULL,
  `time` time NOT NULL,
  `NUMUTILISATEURS` int(8) NOT NULL,
  PRIMARY KEY  (`numannonce`),
  KEY `NUMUTILISATEURS` (`NUMUTILISATEURS`),
  FULLTEXT KEY `full` (`titreannonce`,`descriptionannonce`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=99 ;

--
-- Contenu de la table `annonces`
--

INSERT INTO `annonces` (`numannonce`, `departement`, `region`, `categorie`, `typeannonce`, `souscategorie`, `titreannonce`, `descriptionannonce`, `prix`, `date`, `time`, `NUMUTILISATEURS`) VALUES
(74, '85-Vendee', 'Pays de la Loire', 'immobilier', 'vends', 'investisseur', 'TERRAIN BORD DE MER BRETIGNOLLES SUR MER', 'VENDEE BRETIGNOLLES SUR MER-LA SAUZAIE : Terrain viabilisé, 539m2, libre de constructeur  (surface constructible 214m2)  proche mer (600 m), cale à bateaux,  dunes et pistes cyclables. \r\n\r\n5km de ST GILLES CROIX DE VIE et 25 km des SABLES D’OLONNE\r\n', '110000', '2010-05-15 16:34:30', '00:00:00', 19),
(75, '85-Vendee', 'Pays de la Loire', 'immobilier', 'vends', 'location-saisonniere', 'VENDEE BRETIGNOLLES SUR MER-LA SAUZAIE : Terrain v', 'Le Gîte CLEDESCHAN à 600m de la plage et à 200m des dunes et des pistes cyclables, se compose de 2 maisons « Fleur de Sel » et « Rose des Sables » (4 personnes chacune) entièrement rénovées, avec tout le confort, jardin et parking privés.', '350', '2010-05-15 16:41:25', '00:00:00', 20);


Re: Probléme Index Fulltext

Posté : 31 mai 2010, 13:29
par stealth35
bizarre ca marche pas, je vais voir ce qui cloche :(

Re: Probléme Index Fulltext

Posté : 31 mai 2010, 15:34
par spidercrash
oui c'est vraiment bizarre, merci de ton aide

Re: Probléme Index Fulltext

Posté : 31 mai 2010, 18:21
par spidercrash
Il y a de l'évolution fait comme test pour voir en recherche les mots suivant de se descriptif

Le Gîte CLEDESCHAN à 600m de la plage et à 200m des dunes et des pistes cyclables, se compose de 2 maisons « Fleur de Sel » et « Rose des Sables » (4 personnes chacune) entièrement rénovées, avec tout le confort, jardin et parking privés.

CLEDESCHAN
600m
200m
la pas de probléme cela marche maintenant
via les mot suivant

dunes
cyclables
sables
la cela ne fonctionne pas

vraiment bizarre.