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 :

Recherche par ordre de pertinence


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2007
    Messages : 365
    Par défaut Recherche par ordre de pertinence
    Bonjour à tous,

    Je voudrais avoir une confirmation, j'utilise la recherche intégrale de SQL Server 2000 et souhaite savoir si la fonction freetexttable permet de classer les résultats trouvés par ordre de pertinence.
    C'est à dire de la façon suivante : les résultats contenant les mots clés A et B en premier, puis les résultats contenant A ou B. Puisque il m'arrive d'avoir des résultats d'un autre ordre de ce qui est cité ci-dessus.

    Je vous met la requête que j'utilise pour la recherche des références :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT titre from produit as prod inner join freetexttable(produit,titre,'motA motB',1000000000) as rfts on prod.id_prod = rfts.[key] ORDER BY rfts.rank desc
    Que puis je faire pour avoir les résultats contenant les mots motA et motB en premier puis les résultats avec au moins un motA ou un motB ?

    En environnement technologique j'utilise
    Windows 2000 Server, SQL Server 2000

    En vous remerciant 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
    21 998
    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 998
    Billets dans le blog
    6
    Par défaut
    Il n'y a que les prédicats CONTAINS ou CONTAINSTABLE qui permettent d'attribuer des poids aux éléments trouvés et donc de gérer la pertinence.

    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 éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2007
    Messages : 365
    Par défaut
    Merci pour votre réponse,

    J'ai essayé la requête avec le prédicat CONTAINSTABLE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT titre from produit as prod inner join containstable(produit,titre,'ISABOUT(motA weight(0.01), motB weight(1.0))',1000) as rfts on prod.id_prod = rfts.[key] ORDER BY rfts.rank desc
    par contre, y aurait t'il un moyen de calculer le poids des mots recherchés, à un moment j'ai fait varié les poids de chacun des mots afin d'avoir le résultat contenant les mots motA et motB en premier, puis les resultats avec les mots motA ou motB ? Sachant que j'ai constaté qu'il y a beaucoup plus de motA que de motB.

    L'avantage avec le prédicat FREETEXTTABLE c'est que ce dernier donne des résultats avec les orthographes voisines.

    Cordialement.

Discussions similaires

  1. [MySQL] Afficher les résultats de recherche par ordre décroissant
    Par hadjiphp dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/06/2009, 20h24
  2. Résultats de recherche par ordre alphabétique
    Par dcarroz dans le forum SharePoint
    Réponses: 1
    Dernier message: 30/10/2008, 13h57
  3. Classement des résultats de recherches par pertinence
    Par marcandre dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/12/2007, 16h35
  4. Classer les résultats d'une recherche par "pertinence"
    Par echataig dans le forum Langage SQL
    Réponses: 3
    Dernier message: 04/04/2007, 11h54
  5. URGENt: recherche dans un tableau trié par ordre alphabetiqu
    Par JulPop dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/02/2005, 17h21

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