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

Développement SQL Server Discussion :

ARTICLE :indexation textuelle et recherches plain texte.


Sujet :

Développement SQL Server

  1. #1
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 920
    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 920
    Points : 51 712
    Points
    51 712
    Billets dans le blog
    6
    Par défaut ARTICLE :indexation textuelle et recherches plain texte.
    Bonjour

    voici le lien vers un article consacré à l'indexation textuelle et la recherche dite "plain texte" (full text search) selon la norme SQL, et avec une comparaison des implémentations de Oracle MySQL et Microsoft SQL Server.

    http://blog.developpez.com/sqlpro/p9...ext-search-no/

    Vos commentaires sont à poster dans le fil suivant :
    http://www.developpez.net/forums/d98...e/#post5505600

    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Merci ! Je m'empresse de lire ça

    @++

  3. #3
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    Billet intéressant

    Surtout la mise en perspective des possibilités des 2 SGBD : MySQL5.0 et MSSQL.

    Est ce que Oracle (par exemple Oracle 10g ou 11g) possède plus de possibilités Full Text Search que MySQL5.0 ?

    Ceci dit, je suis un peu dubitatif quant à la notion de synonymie que propose MSSQL

    Prenons un exemple. Le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CONTAINS((LVR_TITRE,LVR_RESUME),''FORMSOF(THESAURUS,"militaire") ',LANGUAGE 'French')
    va chercher les synonymes du mot militaire... mais cette recherche se base sur quel dictionnaire ? et quel dictionnaire de quel domaine ?

    Je m'explique. Essaye d'obtenir la liste des synonymes du mot militaire dans différents dictionnaire.

    Dico des synonymes de l'université de caen :
    -------------------------------------------
    http://www.crisco.unicaen.fr/cgi-bin/cherches.cgi
    liste des synonymes :
    baderne, belliqueux, boucher, engagé, guerrier, homme de guerre, martial, polémologique, soldat, soldatesque, stratégique, tactique.

    Dico du cnrs : http://dico.isc.cnrs.fr/dico/fr/chercher
    ------------
    liste des synonymes :
    baderne, belliqueux, guerrier, martial, soldat, soldatesque,homme de guerre,officier,polémologique,sous-officier,stratégique, tactique
    Quand on met en regard ces 2 listes, on se rend compte que selon le dictionnaire utilisé la liste des synonymes n'est pas la même.

    Si on consulte le Trésor de la Langue Française (TLF)
    --------------------------------------------------
    On se rend également compte que le TLF a aussi sa liste de synonymes pour le mot "militaire"

    Petite conclusion :
    -------------------
    --> D'un dico à un autre la notion de synonymie est variable !
    --> Aussi il faut noter également que le synonyme d'un mot varie selon le domaine (Médécine, Informatique, Cuisine, ...)
    Exemple : Table (en base de données) n'a pas les mêmes synonymes
    que Table (en Cuisine)

    D'où ma question :
    ---------------
    Est-il possible d'indiquer à MSSQL Server quel dico utiliser pour Full Text Search ?
    C'est à dire que si je dispose d'un dctionnaire de synonymes dans le domaine Médical par exemple, est-il possible :
    1.) Incorporer (d'attacher) ce dico à SQL Server ?
    2.) D'indiquer à SQL Server d'utiliser ce dico lors de la recherche de synonymes ?


    Un mot sur la notion de proximité proposée par MSSQL :

    La commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CONTAINS((LVR_TITRE ,LVR_RESUME),' "guerre" NEAR "paix" ')
    retourne les lignes contenant "guerre" à proximité du mot "paix"

    C'est ce qu'on appelle la collocation en lingustique.

    Est-il possible de rechercher les lignes contenant le mot "guerre" dont le mot "paix" n'est pas colocataire ?
    c'est à dire un NEAR NOT ?

    A+

  4. #4
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Est-il possible d'indiquer à MSSQL Server quel dico utiliser pour Full Text Search ?
    Avec la recherche FULL TEXT il existe un fichier thesaurus (format XML) par lange dans le répertoire FTDATA qui joue ce rôle.

    La procédure sp_fulltext_load_thesaurus_file permet de charger le "dictionnaire"

    Est-il possible de rechercher les lignes contenant le mot "guerre" dont le mot "paix" n'est pas colocataire ?
    c'est à dire un NEAR NOT ?
    A verifier mais il ne me semble pas que NOT soit supporté avec NEAR..
    Il est possible de contourner cela en utilisant CONTAINSTABLE et de trier par numéro de rang.

    ++

Discussions similaires

  1. [BLOB] Recherche plain text dans BLOB
    Par nabich dans le forum PL/SQL
    Réponses: 3
    Dernier message: 30/11/2010, 21h06
  2. ARTICLE : indexation textuelle et recherches plain texte
    Par SQLpro dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/10/2010, 14h31
  3. Réponses: 0
    Dernier message: 04/10/2010, 10h13
  4. indexation plain text
    Par hamma2 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 08/02/2010, 14h01

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