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

MS SQL Server Discussion :

full text search


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2009
    Messages : 125
    Par défaut full text search
    Bonjour,
    En utilisant la fonction Contains de full Text search :
    pour chercher un simple mot , on le met entre de côtes de la façon suivante:
    ' monMot '
    Pour chercher un texte , on le fait de la façon suivante :
    '"mon mot à chercher"'
    et ce d'après la documentation msdn :
    <simple_term>
    Specifies a match for an exact word or a phrase. Examples of valid simple terms are "blue berry", blueberry, and "Microsoft SQL Server". Phrases should be enclosed in double quotation marks (""). Words in a phrase must appear in the same order as specified in <contains_search_condition> as they appear in the database column. The search for characters in the word or phrase is not case-sensitive. Noise words (or stopwords) (such as a, and, or the) in full-text indexed columns are not stored in the full-text index. If a noise word is used in a single word search, SQL Server returns an error message indicating that the query contains only noise words. SQL Server includes a standard list of noise words in the directory \Mssql\Binn\FTERef of each instance of SQL Server.

    Punctuation is ignored. Therefore, CONTAINS(testing, "computer failure") matches a row with the value, "Where is my computer? Failure to find it would be expensive." For more information on word-breaker behavior, see Word Breakers and Stemmers.
    C'est simple lorsque vous entrez directement le mot ou la phrase à chercher , mais lorsque vous la récupérer dans une variable puis la passer à la fonction contains ça devient compliqué

    par exemple j'ai une variable @searchedText qui prend une valeur saisie par l'utilisateur puis je vais la passer à la fonction contains : contains (maTable.attribut, @searchedText ), comment je peuxmettre ici @searchedText entre ""

    Merci de m'aider

  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 997
    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 997
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    DECLARE @recherche VARCHAR(max);
    SET @recherche = 'un mot et un autre';
    --> dans la sp :
    SET @recherche = '"' + @recherche +'"';
    SELECT *
    FROM   dbo.T_CRASH_CRH
    WHERE  CONTAINS(CRH_RECIT, @recherche)
    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 Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    DECLARE @recherche VARCHAR(max);
    SET @recherche = 'un mot et un autre';
    --> dans la sp :
    SET @recherche = '"' + @recherche +'"';
    SELECT *
    FROM dbo.T_CRASH_CRH
    WHERE CONTAINS(CRH_RECIT, @recherche)
    Vous êtes en effet obligé de passer par des variables, or ceci vous empêche par exemple l'utilisation de fonctions tables...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2009
    Messages : 125
    Par défaut
    merci

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

Discussions similaires

  1. Comment activer full-text search ?
    Par momoh dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/04/2009, 16h27
  2. Full Text Search et Contains () - Y a-t-il des limitations ?
    Par SetaSensei dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/06/2008, 16h33
  3. Hibernate et le Full Text Search de MySQL
    Par ygrim dans le forum Hibernate
    Réponses: 4
    Dernier message: 28/02/2008, 11h10
  4. Full text search
    Par val2007 dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 01/10/2007, 11h22
  5. Text mining et full text search
    Par icebe dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/07/2007, 13h35

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