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