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

Langage SQL Discussion :

Moteur de recherche avec MySQL


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 74
    Points : 80
    Points
    80
    Par défaut Moteur de recherche avec MySQL
    Bonjour,

    Je souhaite faire un moteur de recherche. J'ai 3 tables : textes, mots et mots_textes.

    La table textes contient tout les textes sur lesquels portera la recherche.
    La table mots contient la liste des mots qui peuvent être utilisé pour effectuer la recherche.

    Et la table mots_textes est la table qui indique dans quels textes se trouve tels mots.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    textes :
     
    id | texte
    ----------
     1 | Une voiture roule sur un pont
     2 | Un piéton marche sur un pont
     3 | La voiture est rouge
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    mots :
     
    id | mot
    --------
     1 | voiture
     2 | roule
     3 | pont
     4 | piéton
     5 | marche
     6 | rouge
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    mots_textes :
     
    mot | texte
    -----------
      1 | 1
      1 | 3
      2 | 1
      3 | 1
      3 | 2
      4 | 2
      5 | 2
      6 | 3
    A partir de là, j'aimerais faire une requête SQL qui me récupère la liste des textes qui contiennent la totalité des mots recherchés. Plus il y a de mots recherchés, moins il y a de résultats.

    Par exemple, pour le mot "voiture", le résultat est 1 et 3 (les textes 1 et 3).
    Pour les mots "voiture" et "rouge", le résultat est 3.
    Pour le mot "pont", le résultat est 1 et 2.
    Pour les mots "pont" et "marche", le résultat est 2.

    Pouvez vois m'aider à faire la requête qui permet de récupérer, par exemple, la liste des textes qui contiennent "voiture" et "roule" ?

    La requête doit pouvoir être exécuté par MySQL.

    Merci.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 902
    Points : 53 143
    Points
    53 143
    Billets dans le blog
    6
    Par défaut
    Lisez ce que j'ai écrit à ce sujet. Vous avez les exemples des requêtes à faire !
    http://sqlpro.developpez.com/cours/indextextuelle/

    A +

Discussions similaires

  1. Moteur de recherche avec jsp et mysql
    Par rane dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 29/05/2009, 14h14
  2. [MySQL] Moteur de recherche avec MySQL
    Par Davidlouiz dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/10/2008, 16h29
  3. moteur de recherche avec requete sql
    Par hottnikks_79 dans le forum ASP
    Réponses: 4
    Dernier message: 03/08/2006, 03h58
  4. Réponses: 6
    Dernier message: 04/11/2005, 17h09

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