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 PostgreSQL Discussion :

Recherche full text


Sujet :

Requêtes PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    1 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 045
    Par défaut Recherche full text
    Bonjour,

    Il m'arrive quelque chose d'étrange. J'ai créé une colonne de type tsvector dans mon fichier client afin de faire une recherche full-text sur le nom notamment.

    Lorsque je lance ma requête, elle fonctionne correctement sauf si je tape "ma" ou la requête ne ressort rien alors qu'il existe bien des clients qui ont un nom commençant par "ma". Si je tape "mar" là plus de problème.

    Quelqu'un pourrait-il éclairer mes lumières car je ne vois pas ce qui peut se produire.

    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 002
    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 002
    Billets dans le blog
    6
    Par défaut
    ma est un mot "noir" comme : le, la les, un, une, des, je, tu, il, elle, nous, vous, ils, elles, mais, ou, et, donc, or, ni, car, ma, me, mon, mes...

    Vous pouvez le retirer de la liste des mots noirs, mais cela risque de renvoyer beaucoup de bruits....

    Dans d'autres SGBDR (par exemple SQL Server) vous pouvez ignorer les mots noirs lors d'une recherche spécifique....

    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
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    1 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 045
    Par défaut
    Merci,

    C'est vrai je n'ai pas pensé à ça. Je vais voir ce que je peux faire.

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    1 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 045
    Par défaut
    Bonjour,

    Pour ceux que ça intéresserait, voici ce que j'ai mis en place et qui fonctionne correctement. On peut créer un dictionnaire un dictionnaire sans "stop words" et l'utiliser pour une requête particulière.

    Voici ce que ça donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TEXT SEARCH DICTIONARY french_stem_nostop (
    Template = snowball
    , Language = french
    );
    CREATE TEXT SEARCH CONFIGURATION public.french_nostop ( COPY = pg_catalog.french);
    ALTER TEXT SEARCH CONFIGURATION public.french_nostop
    ALTER MAPPING FOR asciiword, asciihword, hword_asciipart, hword, hword_part, word WITH french_stem_nostop;
    La requête suivante sort à présent les prénoms et noms commençant par "ma":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from client where nom_recherche @@ to_tsquery('french_nostop','ma:*')

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

Discussions similaires

  1. Recherche Full Text
    Par fadeninev dans le forum SQLite
    Réponses: 1
    Dernier message: 20/10/2006, 10h21
  2. [recherche FULL TEXT ]
    Par viny dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 20/09/2006, 17h08
  3. [MySQL] Recherche FULL TEXT IN BOOLEAN MODE et les Quotes
    Par GarGamel55 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 23/01/2006, 20h01
  4. [Info]moteur de recherche full text en environnement j2ee
    Par ddams dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 03/11/2004, 19h39
  5. Recherche FULL Text existe que dans MySql ?
    Par seb.49 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 01/06/2004, 22h30

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