begin process at 2012 05 30 16:36:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

moteur de recherche fulltext avec easyphp


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

moteur de recherche fulltext avec easyphp

samedi 8 juillet 2006 à 14:19:56 | moteur de recherche fulltext avec easyphp

samt01

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 :

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 :

$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.'")';


Une autre info, j'ai easyphp est-ce que ça pourrait venir de là?...

merci d'avance pour votre aide..

mercredi 7 janvier 2009 à 11:11:10 | Re : moteur de recherche fulltext avec easyphp

mamedame

Salut  il vous manque l'expression:IN BOOLEAN MODE dans votre requête sql.
Voila ce que vous devrez mettre:
$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.'" IN BOOLEAN MODE)';
Essaie avec sa marche.
mercredi 16 septembre 2009 à 20:38:45 | Re : moteur de recherche fulltext avec easyphp

fabrice88

Bonjour,
j'ai exactement le meme probleme et l'ajout de IN BOOLEAN MODE ne change rien
idem donc pour le cas avec photo avec un s et sans le s ....
la fcontion fulltext est soit vraiemnt pas au point ou alors beaucoup d'entre nous sont tres mauvais (bon pour moi je sais c normal mais beaucoup sont dans le meme cas).

autre remarque :
si je fais une recherche avec dans phpmyadmin pour par exemple sur le mot "paysages" : j'ai 15 resultats qui ressortent. maintenant si je passe par mon moteur de recherche avec la meme recherche je n'ai que 14 résultats. J'ai donc un resulat qui se perd quelque par.... (j'ai testé avec d'autres mot c'est pareil, un resultat en moins sur toutes les recherches

mon code est le suivant et je suis en plein dessu donc si il y a un génie dans le coin pour me donner un coup de main:

Code PHP :
<?php

include("../admin/connexion-sql.php");

function search()
{
$champ=$_POST['rechercherpar'];
$mot=$_POST['mot_cle'];

$resultat=mysql_query("SELECT * FROM IWgalerie WHERE match(type,ref,exemple,alt) against ('$mot' IN BOOLEAN MODE)");
$ligne=mysql_fetch_array($resultat);

while($ligne = mysql_fetch_array($resultat))
{
$ref=$ligne['ref'];
$alt=$ligne['alt'];
$type=$ligne['type'];
echo $ligne['id'].' '.$type.' '.$ref.' '.$alt.'
<img src="../pages/mini-galerie.php?f='.$ligne['photoref'].'" alt="'.$ligne['alt'].'" border="0" width="168px" height="113px" class="reflect rheight31 ropacity33"/><br/>';
}
}
search();
?>




Photos Vosges : Regardez, respirez, aimez les Vosges
bonjour,



Cette discussion est classée dans : recherche, not, default, categorie, varchar


Répondre à ce message

Sujets en rapport avec ce message

Problème de Foreign Key avec MySQL [ par benoit74 ] BonjourVoilà un mon cas:CREATE TABLE `langues` ( `IDLangue` char(3) NOT NULL, `Langue` varchar(20) NOT NULL default 'fr', `Traducteur` varchar(20), Création d'une table [ par panpan ] Voici mon codes pour créé un nouvelle table dans ma base de bonnée:CREATE TABLE membres (clef int(11) NOT NULL auto_increment,pseudo varchar(25) NOT N Creation d'une table dans ma base de donnée [ par panpan ] Voici mon codes pour créé un nouvelle table dans ma base de bonnée:CREATE TABLE membres (clef int(11) NOT NULL auto_increment,pseudo varchar(25) NOT N besoin d'aide pour une analyse [ par speedylol ] j'aurais besoins d'une analyse suivant merise pour c'est table ,j'ai perdu toute mon analyse et je doit terminée mon mémoire pour remettre ce soir il creation *.sql [ par westsider ] bonjour,je cherche un script pour creer un fichier *.sql coéplet, j'en ai qui fait ca :create table geneve ( id int(11) not null auto_increment, tit Problème de insert into [ par VLN ] Bonjour, J'ai un souci d'envoie sur sql lorsqu'on remplie le formulaire il me donne erreur a la ligne 3 et 4 Le configuration.php est la connection à problème d'update dans bdd... [ par djinko ] Bonsoir,J'ai deux tables :---------------------------------------------------------------------------------------CREATE TABLE `membre` (    `id_membre Résultat d’une requete [ par djinko ] Bonjour,   J’ai crée un espace membre et j’aimerai pouvoir consulter les fiches à l’aide d’un formulaire mais je ne sais pas comment faire pour récupé problème moteur de recherche [ par tony4758 ] Bonjour, j'ai crée un moeur de recherche très simple avec base de donnée. Voici la structure de ma base :CREATE TABLE sonarty_search (id INT UNSIGNED Modifications de données avec formulaire [ par fabrice88 ] Bonjour, j'ai une table manifs dans ma base de donnée.Pour agrémenté cette table j'ai fais un formulaire qui envoie les données dans ma base.Maintenan


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,649 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales