IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Recherche de mots clefs


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut Recherche de mots clefs
    Bonjour à tous,

    Je suis plus un habitué du forum Java que de celui-ci, mais aujourd'hui mes problèmes sont plutôt côté langage WEB.

    De plus, j'ai longtemps hésité à poser ma question dans ce forum, car il s'agit d'un problème d'algorithme en PHP-MySql. N'hésitait pas à le déplacer si il ne s'agit pas de la bonne section.

    Je suis donc à la recherche d'idées me permettant d’effectuer une recherche dans une base le plus rapidement possible.

    Ceci dans le cadre d’un projet WEB qui permet à un utilisateur d’ajouter un CV dans une base de donnée et d’ensuite d’effectuer une recherche de CV en fonctions de mots clefs.

    Ainsi ,en arrivant sur une page WEB, l’utilisateur devra réaliser un Copier-Coller de son CV et le déposer dans un champ de formulaire. Ce dernier sera enregistré dans un champ text de ma base de ma table CV. Ensuite, si il veut récupérer une liste de CV, il insèrera dans un champ de recherche plusieurs mots clefs.

    Il faut donc :
    1. Que je parse le copier-coller d’un CV
    2. Que j’insère les mots pertinents dans une table mot clefs
    3. Lors de la recherche que j’aille chercher les CV possédant les mots clefs


    Pour l’instant j’ai pensé à une table CV, qui aura un champ ID (smallint) et corps(text).
    Une table MOT_CLE qui possèdera un champ ID(smallint) et Nom(varchar).
    De plus, une table J_CV_MOT_CLE qui contiendra deux champs ID_CV,ID_MOT_CLE qui contiendra les associations entre les CV et les mots clefs. Lors d’une recherche, il ne me restera plus qu’a aller taper dans cette table.

    Je suis donc à la recherche de plusieurs choses :
    • Comment parser le copier-coller ?

    • Comment définir ce qui est un mot clefs (toutes les idées sont les bienvenue, sachant que j’en ai déjà quelques une).

    • Peut on améliorer la disposition des tables que j’ai cité, ou la facon de chercher ???



    Bon, n’hésitez pas à poster une réponse, ou une idée d’algo ou autre je suis preneur. Pour l’instant mon plus gros problème étant de "comment reconnaitre un mot clé d’un mot qui n’a aucune importance".


    Encore merci à tous ceux qui m’auront lu jusqu’ici…..

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 97
    Par défaut
    Bonjour,

    Alors pour répondre à ton problème, il me semble que tu devrais t'orienter dans un système d'apprentissage des mots clés. peut-être black-lister certains d'entre eux ou quelque chose comme ça.
    Un autre idée serait de faire un modèle standardisé pour les cv que tu reçois afin de pouvoir ignorer les informations personnel et séparer ton cv en plusieurs partie, te permettant ainsi de remplir des tables différentes (une table pour l'expérience, une pour le niveau de formation, une pour les informations diverses, et une pour regrouper tout ça, ...).

    Pour parser tes corps de cv n'hésite pas à tartiner d'exreg. C'est encore ce qu'il y a de plus utiliser pour faire un parseur efficace.

    Enfin, pour la rapidité de la recherche en base, je peux te conseiller d'utiliser des fonctions embarquées en base. Pour un projet effectué ou il fallait rechercher des choses rapidement dans des tables bien remplie, j'ai utilisé postgres et écris des fonction en langage procédurale (pl/pgsql). Je croix (à vérifier) que tu peux en faire aussi sous mysql. Tu peux utiliser des fonctions en C également. J'avais fais des tests de performance et obtenais des résultats vingt fois plus rapidement avec cette méthode.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    Salut rfufu,

    alors je vais commencer par ta deuxième proposition qui concerne le fait de proposer des champs spécifiques à remplir.
    En fait je ne peux pas utiliser ceci, c'était ma première proposition, c'est à dire faire un champ compétence, expérience pro, scolaire,etc.... ainsi qu'une URL pour télécharger le CV, mais cela a été refusé.

    Je dois donc utiliser le copier coller d'un CV pour extraire les infos.

    Ensuite pour ce qui est du black-lister, j'aimerais bien que tu m'en dises un peu plus, je vais essayer de faire des recherche de mon côte via google, mais j'aimerais savoir si il s'agit d'un outil, d'une fonction, d'un alog,etc....

    Je vais aussi voir ce dont tu parles au sujet des recherches embarquées, choses que je ne connais absolument pas.

    Encore merci, et n'hésite pas à me faire d'autres propositions ou a m'apporter plus de précision.

  4. #4
    Membre éclairé Avatar de Giantrick
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    300
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 300
    Par défaut
    Bonjour,

    Citation Envoyé par _cheval_
    alors je vais commencer par ta deuxième proposition qui concerne le fait de proposer des champs spécifiques à remplir.
    En fait je ne peux pas utiliser ceci, c'était ma première proposition, c'est à dire faire un champ compétence, expérience pro, scolaire,etc.... ainsi qu'une URL pour télécharger le CV, mais cela a été refusé.

    Je dois donc utiliser le copier coller d'un CV pour extraire les infos.
    Je n'ai pas de réponse directe à ton problème sinon te proposer la chose suivante.

    Si tu as la posibilité, tu devrais proposer les deux méthodes :
    a) - soit la plus simple et plus rapide (mais la moins efficace) "à toi de choisir les mots qui seront plus acceptable commercialement" = Télécharger votre CV (sans avoir à le retaper)

    b) - soit la plus complète et plus profitable pour le "postulant" = Télécharger votre CV, puis compléter brièvement un sommaire de CV

    Sur la première proposition (a), tu les informes que lors d'une recherche via ton moteur de recherche de mot clés, les résultats seront approximatifs (en fonction du contenu de leur propre CV).
    Tu peux alors utiliser une recherche grace à la condition "LIKE" / ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM cv WHERE text LIKE '%recherche%' ORDER BY text
    ensuite tu récupères les résultats les ID de ta table CV pour afficher une liste avec les CV qui matches avec la demande et tu peux même dénombrer la quantité du mot recherché dans chaque CV... (voir d'autres conditions pour affiner les critères)

    Sur la seconde proposition (b) - tu proposes au déposant de faire des copier coller de tout ou partie de son CV dans les catégories "expérience", "formation" etc... avec un titre et un corp de rubrique et même des mots clés que lui même choisira (c'est une possibilité pour que l'utilisateur puisse augmenter par lui-même la pertinence et l'impact de son CV)

    Ensuite dans ton moteur de recherche, tu peux alors faire des requêtes multi-tables ou bien te concentrer uniquement sur les mots-clés choisi par l'utilisateur.

    Personnellement je trouve cette méthode plus efficace et d'un point de vue commercial, tu n'imposes rien et tu donnes même une valeur ajouté à ton outil de recherche de CV.

    ... je vais finir par demander des contributions pour mes idées... rires !

    Aller bon courage...

Discussions similaires

  1. Recherche par mot clef dans une feuille excel.
    Par takamo dans le forum Excel
    Réponses: 12
    Dernier message: 18/06/2008, 14h35
  2. Comment réaliser une recherche par mot clef ?
    Par mouchkar dans le forum ASP.NET
    Réponses: 2
    Dernier message: 06/09/2006, 11h48
  3. pblm recherche par mot-clef - mysql_db_query
    Par carelha dans le forum Langage
    Réponses: 8
    Dernier message: 21/06/2006, 17h20
  4. [MySQL] SQL et résultat de recherche par mot clef
    Par carelha dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/04/2006, 15h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo