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

Requêtes MySQL Discussion :

FullText : Logique ?


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de micatmidog
    Profil pro
    Inscrit en
    Février 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2004
    Messages : 94
    Par défaut FullText : Logique ?
    Bonjour,

    Je ne comprends pas la logique de cette fonctionnalitée.

    J'ai 3 champs, par exemple : "titre", "description", "lien", dans la table "sites".
    Ils sont tous 3 en FULLTEXT, avec comme nom de clé index.

    Si je veux faire une recherche sur ces champs, par exemple je veux chercher "php", je dois faire ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM sites WHERE MATCH (lien,titre,description) AGAINST ('php')
    Car rien ne s'affiche chez moi, je veux dire par là qu'aucune entrée ne correspond alors que j'en ai plusieurs contenant le mot "php" dans un de leur champ.

    Ou ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM sites WHERE MATCH (index) AGAINST ('php')
    Mais là ça affiche une belle erreur (SQL1 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'index) AGAINST ('php)' at line 1)...

    Et si je veux ensuite les afficher par pertinence ? C'est fait automatiquement ?

    Merci d'avance.

  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
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    Dans le langage SQL qui est normalise ISO, la clause de recherche en index textuel s'apelle CONTAINS>

    Visiblement vous etes sur un SGBD dont vous ne donnez pas le nom et qui ne respecte pas la norme SQL.

    postez au bon endroit !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Invité
    Invité(e)
    Par défaut
    bonjour,

    ca a l'air d'etre la bonne syntaxe... est ce que tes tables sont en MyISAM, car ce n'est supporté que par ces tables.

  4. #4
    Membre confirmé Avatar de micatmidog
    Profil pro
    Inscrit en
    Février 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2004
    Messages : 94
    Par défaut
    Citation Envoyé par greffzion
    bonjour,

    ca a l'air d'etre la bonne syntaxe... est ce que tes tables sont en MyISAM, car ce n'est supporté que par ces tables.
    Oui elles le sont bien

  5. #5
    Invité
    Invité(e)
    Par défaut
    Je suis un peu perdu, je n'ai jamais utilise de fulltext mais a ce que j'ai pu lire la bonne syntaxe c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM sites WHERE MATCH (lien,titre,description) AGAINST ('php')
    a tu tester chaque champ separement?

    Sinon tout ce que je peut faire c'est te donner ce lien au cas ou tu n'y soit pas aller...
    Recherche en texte intégral (Full-text) dans MySQL

  6. #6
    Membre confirmé Avatar de micatmidog
    Profil pro
    Inscrit en
    Février 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2004
    Messages : 94
    Par défaut
    Si j'essaye un champ seulement, ça me sors :

    SQL1 : Can't find FULLTEXT index matching the column list
    Je crois que les 3 champs sont inséparables (dans les requêtes) :



    Mais je ne comprends pas pourquoi il n'y a aucun résultat...

    Edit: Je confirme avec le lien que tu m'as donné :

    Si vous voulez rechercher le titre title ou le corps body séparément, vous devrez créer un index FULLTEXT pour chaque colonne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Evalutation d'expression logique/booleenne
    Par eesteban dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 16/06/2004, 14h58
  2. Détection des disques physiques et logiques
    Par TheBigMac dans le forum Assembleur
    Réponses: 3
    Dernier message: 10/06/2004, 21h08
  3. Port parallèle et ou logique
    Par declencher dans le forum Langage
    Réponses: 2
    Dernier message: 05/06/2004, 19h02
  4. Problème sur la recherche fulltext en v4 !
    Par poppa dans le forum Requêtes
    Réponses: 3
    Dernier message: 13/05/2004, 23h06
  5. Un lecteur logique caché!!!
    Par Cyberman dans le forum Composants
    Réponses: 3
    Dernier message: 05/10/2003, 23h16

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