begin process at 2012 05 31 05:50:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Trucs et astuces

 > 

PHP Mysql : la chaine la 'plus proche' d'une sous chaine.


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

PHP Mysql : la chaine la 'plus proche' d'une sous chaine.

jeudi 11 août 2005 à 19:39:08 | PHP Mysql : la chaine la 'plus proche' d'une sous chaine.

irkiouak





Bonjour chers developpeurs,
J'ai crée une formulaire de recherche d'un sujet (sur la table sujet) avec un champ texte critere.
Ce que je fais maintenant est de prendre chaque mot séparément grâce à la fonction explode(' ',$critere); qui me retourne les mots qui constitue la chaine;
et puis je classe les résultats de la recherche (résultat de la requete sur les sujets qui contiennent au moins l'un de ces mots clefs) selon le nombre des différents mots clefs y cité.
un exemple plus parlant : 
   supposant que la chaine composée par l'utilisateur est : $critere = "policier attaque malfaiteur"
   je decortique cette chaine en $criteres=array{"policier","attaque","malfaiteur"}.
   j'execute une requette pour chaque mot séprément, et je recense le nombre des differents mots clefs trouvé dans la base des sujets.
  sujet1 : "le policier Xman a attaque un malfaiteur... "
   sujet2: "le chef policier doit être l'exemple en discipline .je sais pas koi.. malfaiteur..."
   sujet3:"un malfaiteur a attaque un policier de la route .."

le sujet1 reçoie 3pt, le sujet2 1pt,  et le sujet3 3pt.

comme vous voyer le recensement simple du nombre de differents mots clefs apparu n'est pas optimal :  le sujet3 dois être le dernier classé.

pour mieux faire, je dois faire plusieurs boucles qui cherchent d'abord les mots dans le bon sens :-(

Si vous avez déja créer un algorithme plus optimal, ou vous connaissiez une foncion en Mysql qui sait trouver la chaine la plus 'proche' d'une sous chaine; votre aide sera si précieux pour moi.

Merci d'abord pr avoir lu tous ça!

Sympa developpeur ;-) [ Lien ]
vendredi 12 août 2005 à 00:19:00 | Re : PHP Mysql : la chaine la 'plus proche' d'une sous chaine.

Anthomicro

Réponse acceptée !
Salut,

ta solution n'est pas optimale, penche-toi plutôt du côté des index FULLTEXT. Place un index FULLTEXT sur ton champ sujet et exécute une requête du type :

"SELECT MATCH(sujet) AGAINST('".$recherche."' IN BOOLEAN MODE) AS pertinence FROM table WHERE MATCH(sujet) AGAINST('".$recherche."' IN BOOLEAN MODE) ORDER BY pertinence DESC


    vendredi 12 août 2005 à 12:42:20 | Re : PHP Mysql : la chaine la 'plus proche' d'une sous chaine.

    irkiouak






    Merci aoui pr votre aide Anthomicro;
    C'est tout à fait ce que je cherche!!
    Comme je suis chanceux d'être accueillis par cette grandiose ruche de developpeurs.

    Sympa developpeur ;-) [ Lien ]
    vendredi 12 août 2005 à 12:53:12 | Re : PHP Mysql : la chaine la 'plus proche' d'une sous chaine.

    Anthomicro

    pas de quoi

    a +




      Cette discussion est classée dans : chaine, mots, clefs, policier, malfaiteur


      Répondre à ce message

      Sujets en rapport avec ce message

      Structuration [ par guiguimac ] Bonjour,je dois réaliser une base de donnée MySQL référencant un certain nombre de pages internet avec des mots clefs qui doivent être dans la base. manip de variables [ par eax ] salutje souhaite créer un moteur de recherche, mais je sais pas vraiment comment m'y prendreje veux juste savoir comment faire pour délimiter les mots les recherches [ par caviar ] Salut ... j'ai envoyé une source récement avec des mots clefs spécifiques ... et j'ai remarqué que si une source à des mots clefs est accessible uniqu Couper une chaine tous les X mots [ par 3xodius55 ] Bonjour (ou re-bonjour pour quelques uns^^),Est-ce que vous sauriez par hasard comment je pourrai couper une chaine tous les X mots.La chaîne en quest MOTEUR DE RECHERCHE [ par loupile ] bonjour, j'ai fais un moteur de recherche, oui mais voila il ne fonctionne que sur une chaine ... normale  je recupère la valeur de mon champ de reche Extraire les mots d'une chaine [ par footalex12 ] Bonjour,Je souhaite extraire chaque mots d'une phrase ( j'ai des centaines de phrases à extraire )J'ai reussi une petite bidouille "pourrie" mais le éliminercees mots d'une chaine et insere dans la base [ par hadjiphp ] Bonjour, merci pour ce site et souhaite de trouver tous ce que je veux. je vous remercie. Bonjour, j'ai une question : j'ai une chaine de caract fonction php + supprimer des mots dans une chaine [ par hadjiphp ] Bonjour, merci pour ce site et souhaite de trouver tous ce que je veux. je vous remercie. Bonjour, j'ai une question : je cherche une fonction récupérer des mots d'une chaine + insérer dans une base de données [ par hadjiphp ] Bonjour, merci pour ce site et souhaite de trouver tous ce que je veux. je vous remercie. Bonjour, j'ai une question : j'ai une chaine de carac


      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 : 0,250 sec (4)

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