12.1.52 match against
Transcription
12.1.52 match against
WLangage.book Page 415 Mardi, 23. avril 2013 1:59 13 Ou : SELECT rubInt, CASE WHEN ... rubInt=3 THEN 'trois' WHEN ... rubInt=4 THEN 'quatre' ELSE ... 'autre' END Un ou plusieurs Les mots indiqués sont mots entourés de recherchés groupés et dans l'ordre. guillemets Attention : si l'option "Ignorer les mots inférieurs à " est différente de 0, les mots entre les guillemets inférieurs à la taille précisée ne seront pas recherchés. 12.1.52 MATCH AGAINST La fonction MATCH AGAINST permet d'obtenir l'indice de pertinence de l'enregistrement lors d'une recherche full-text. Format d'utilisation : MATCH(Liste des rubriques) ... AGAINST [ALL] Valeur Ou : • Liste des rubriques correspond à la liste des rubriques de l'index séparées par des virgules (l'ordre des rubriques n'est pas important). • Valeur correspond à la valeur recherchée dans les différentes rubriques. Ce paramètre peut correspondre à une valeur littérale ou à un nom de paramètre. La valeur de recherche peut contenir les éléments suivants : Elément Un mot tout seul Signification Le mot indiqué sera recherché. La pertinence sera augmentée si le texte contient ce mot. Exemple : "WinDev" recherche le mot "WinDev". Deux mots sépa- Recherche l'un ou l'autre des rés par un espace mots. Exemple : "WinDev WebDev" recherche les textes contenant soit "WinDev" soit "WebDev". Un mot précédé Le mot indiqué est obligatoire. du signe "+" Exemple : "+WinDev" recherche les textes contenant obligatoirement "WinDev". Un mot précédé Le mot indiqué ne doit pas être présent dans le texte. du signe "-" Exemple : "-Index" recherche les textes ne contenant pas "Index". Un mot précédé Le mot indiqué ne doit pas être présent dans le texte. du signe "~" Exemple : "-Index" recherche les textes ne contenant pas "Index". Un mot suivi du La recherche est une recherche du type "Commence par" signe "*" le mot indiqué. [ALL] permet de forcer le remplacement des espaces par des "+" dans la valeur recherchée. Exemple : Dans cet exemple, SAI_Rechercher est un champ de saisie et IdUserConnecté est une variable. MaRequête est une chaîne = [SELECT * FROM Contact WHERE MATCH(Contact.Nom, Contact.Prenom, Contact. CommentaireHTML, Contact.CommentaireTexteBrut, Contact.Commentaires, Contact.Telephone, Contact.Bureau, Contact.Portable, Contact.Mail, Contact.MSN, Cotact.Site_internet, Contact.Pays, Contact.NumFax, Contact.Ville) AGAINST (' ] MaRequête = MaRequête + SAI_Rechercher + [ ') AND Contact.IDUtilisateur = ] MaRequête = MaRequête + IdUserConnecté + [ ORDER BY Nom DESC ] HExécuteRequêteSQL(REQ_RECH, hRequêteDéfaut, MaRequête) POUR TOUT REQ_RECH TableAjouteLigne(Table_Contact_ _ par catégorie, ... REQ_RECH.idcontact,REQ_RECH. IDCategorie, IdUserConnecté, ... REQ_RECH.Nom, REQ_RECH.Prenom) FIN CAS ERREUR: Erreur(HErreurInfo()) Pour plus de détails sur la recherche full-text, consultez l’aide en ligne. Partie 7 : Gestion des fichiers de données 415