Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1757 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  problème de requête - FREETEXTTABLE (SQL serveur)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème de requête - FREETEXTTABLE (SQL serveur)

n°1763865
drone
Posté le 23-07-2008 à 18:44:08  profilanswer
 

hello
 
voila ma requête:
 

Code :
  1. SELECT DISTINCT itemTitle_ContentHead, Path_path, KEY_TBL.RANK, name_page, id_place
  2. FROM zone INNER JOIN directory ON id_zone = fkzone_directory
  3. RIGHT OUTER JOIN theme INNER JOIN themeplace ON id_theme = fktheme_themeplace
  4. RIGHT OUTER JOIN page INNER JOIN ContentHead ON id_page = FkPage_ContentHead
  5. INNER JOIN path ON fkPath_page = Id_path
  6. INNER JOIN place ON id_page = fkpage_place ON fkplace_themeplace = id_place
  7. ON (id_directory = fkdirectory_place AND status_directory = 10)
  8. LEFT OUTER JOIN placeType ON fkplaceType_place = id_placeType
  9. INNER JOIN FREETEXTTABLE (ContentHead, *, 'Ajaccio') AS KEY_TBL
  10. ON id_contentHead = KEY_TBL.[KEY]
  11. WHERE ((permanent_ContentHead = 1 OR (DateBegin_Page <= '20080723' AND DateEnd_Page >= '20080723'))
  12. AND (status_page = 10 AND fkDraft_page IS NOT NULL)) AND (language_ContentHead = 'FR')
  13. AND id_placeType = 1
  14. ORDER BY KEY_TBL.RANK DESC, itemTitle_ContentHead ASC ;


 
lorsque je l'execute dans SQL Server management studio , j'ai ce message d'erreur:

Code :
  1. Msg 7601, Niveau 16, État 2, Ligne 1
  2. Impossible d'utiliser les prédicats CONTAINS ou FREETEXT sur table 'ContentHead' parce qu'il n'y a pas d'index de texte intégral.


 
dans la table ContentHead, il y a dans champs de type Int, varchar(800), char(2), bit(1) et des clés étrangères.
qu'est ce que je dois faire dans la table ContentHead pour que la requête fonctionne?
merci

mood
Publicité
Posté le 23-07-2008 à 18:44:08  profilanswer
 

n°1764192
MagicBuzz
Posté le 24-07-2008 à 13:15:33  profilanswer
 

1/ Virer le "*" dans ton FREETEXTTABLE, puisque tu n'as qu'un seul champ indexable par free text.
2/ Créer un index de texte intégral sur le champ varchar(800)
 
(et accessoirement, lire la doc pour savoir ce que c'est qu'un index de texte intégral)

Message cité 1 fois
Message édité par MagicBuzz le 24-07-2008 à 13:15:55
n°1764278
drone
Posté le 24-07-2008 à 14:44:21  profilanswer
 

MagicBuzz a écrit :

1/ Virer le "*" dans ton FREETEXTTABLE, puisque tu n'as qu'un seul champ indexable par free text.
2/ Créer un index de texte intégral sur le champ varchar(800)
 
(et accessoirement, lire la doc pour savoir ce que c'est qu'un index de texte intégral)


 
 
le problème c'est que je dois faire la recherche dans plusieurs champs de la table ContentHead   :sarcastic:

n°1764359
MagicBuzz
Posté le 24-07-2008 à 16:21:15  profilanswer
 

Ben si dans ContentHead t'as un varchar, un char(2), un int et un bit... Excuse, mais y'a que dans le varchar que tu peux faire des recherches fulltext...

n°1764878
drone
Posté le 25-07-2008 à 14:52:30  profilanswer
 

ya 6 champs de type varchar dans la table. en utilisant le mot clé FREETEXTTABLE ce n'est donc pas possible de faire une recherche dans tous les champs de type varchar si je comprend bien?

n°1764914
MagicBuzz
Posté le 25-07-2008 à 15:27:10  profilanswer
 

ben donc tu crée un index full texte qui porte sur ces 6 champs, et effectivement tu gardes ton *
 
c'était pas clair comme tu avais écrit

n°1764958
drone
Posté le 25-07-2008 à 16:41:10  profilanswer
 

ok merci pour les infos, je vais tester ça ^^
SQL et moi ça fait 2 c'est pour ça que c'est pas claire

n°1765050
MagicBuzz
Posté le 25-07-2008 à 18:55:07  profilanswer
 

ben surtout que les index de texte intégral sont un ajout qui n'a rien à voir le SQL en lui-même. ça ne respecte aucune règle habituelle, que ce soit d'un point de vue fonctionnement que d'un point de vue syntaxe ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  problème de requête - FREETEXTTABLE (SQL serveur)

 

Sujets relatifs
Petit probleme de syntaxe pour utiliser du javascript en php[Oracle] Problème trigger auto increment
Probleme : lancer une appli java en commande shell[SQL] "Insert into" et gestion des duplicata?
Création d'un serveur de pingprobleme de connexion avec ma base oracle
probleme CSSProblème : Requetes SQL Serveur liés à Access
Plus de sujets relatifs à : problème de requête - FREETEXTTABLE (SQL serveur)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR