moteur de recherche qui marche de façon aléatoire.
Voilà, je fais une requête avec l'option match mais il y a certains mots qu'elle ne trouve pas comme :
"eos" par exemple
alors que le mot eos existe dans les champs recheché
ou encore quand je tape un chiffre : 350 par exemple
ou alors lorsque le mot recherché comporte un s (photos)
et que je tape photo (donc sans s) ma requête ne trouve pas le mot.
quel est le moyen de résoudre ce problème?
Pourtant ma table est bien décrite en fulltext.
Je ne comprends pas, ça m'a l'air aléatoire. Il y a certains mot que mon meoteur de recherche trouve et d'autres qu'il ne trouve pas.
Est-ce vrai qu'il faut taper plus de 3 caractères?
Quand je mets un espace dans ma recherche, le moteur n'en tiens pas compte.
merci d'avance pour votre aide.
voici la description de ma table :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
CREATE TABLE `lldiffusion_produit` (
`id` int(10) unsigned NOT NULL auto_increment,
`marque` varchar(128) NOT NULL default '',
`designation` varchar(128) NOT NULL default '',
`univers` varchar(128) NOT NULL default '',
`categorie` varchar(128) NOT NULL default '',
`sous_categorie` varchar(128) NOT NULL default '',
`resume_court` varchar(150) NOT NULL default '',
`resume_long` text NOT NULL,
`prix_ttc` decimal(10,2) unsigned NOT NULL default '0.00',
`disponibilite` varchar(128) NOT NULL default '',
`garantie` varchar(128) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `categorie` (`categorie`),
FULLTEXT KEY `recherche` (`marque`,`designation`,`univers`,`categorie`,`sous_categorie`,`resume_long`)
) TYPE=MyISAM COMMENT='TABLE DES PRODUITS' AUTO_INCREMENT=1100 ; |
et voici ma requête :
Code:
1 2 3 4 5
|
$sql = 'SELECT id,marque,designation,categorie,resume_court,prix_ttc,disponibilite FROM
lldiffusion_produit WHERE MATCH
(marque,designation,univers,categorie,sous_categorie,resume_long) AGAINST
("'.$mot.'")'; |