Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
serveurscrutari:json:qsyntax [2013/04/17 15:20] – créée vincent | serveurscrutari:json:qsyntax [2015/03/24 23:46] (Version actuelle) – [Cas particulier de la recherche « tous »] vincent | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Syntaxe d'une recherche ====== | ====== Syntaxe d'une recherche ====== | ||
+ | |||
+ | Une recherche est définie par la valeur du paramètre //q//, ce paramètre est complété par le paramètre //q-mode// qui indique le mode de traitement à appliquer à la chaine définie par // | ||
+ | |||
+ | //q-mode// a trois valeurs possibles : | ||
+ | |||
+ | * // | ||
+ | * //union// | ||
+ | * // | ||
+ | |||
+ | // | ||
+ | |||
+ | ===== Recherche simple ===== | ||
+ | |||
+ | Dans la recherche simple, le paramètre //q// est censé contenir les mots de la recherche séparé par un espace. On utilise des guillemets droits pour indiquer une recherche sur un groupe de mots qui se succèdent. | ||
+ | |||
+ | Les troncatures (recherche sur les mots comprenant une partie du terme) sont indiquées avec un astérisque (y compris pour les termes entre guillemets). L' | ||
+ | |||
+ | Si //q-mode// a la valeur // | ||
+ | |||
+ | Cela donne les exemples suivants : | ||
+ | |||
+ | <code javascript> | ||
+ | q=gouv //Recherche des mots commençant par gouv | ||
+ | q=*logie //Recherche des mots terminant par logie | ||
+ | q=*eco* //Recherche des mots contenant eco | ||
+ | q=" | ||
+ | q=" | ||
+ | q=" | ||
+ | </ | ||
+ | |||
+ | Avec //q-mode// = // | ||
+ | |||
+ | <code javascript> | ||
+ | q=magasin alimentation //(Mots commençant par magasin) ET (Mots commençant par alimentation) | ||
+ | q=environnement " | ||
+ | </ | ||
+ | |||
+ | Avec //q-mode// = //union// | ||
+ | |||
+ | <code javascript> | ||
+ | q=politique gouvernance *publ*// | ||
+ | </ | ||
+ | |||
+ | Une précision : les caractères autres que des chiffres et des lettres sont ignorés et traités comme des séparateurs de mots. | ||
+ | |||
+ | ===== Recherche avancée ===== | ||
+ | |||
+ | La recherche avancée est construit sur la même logique que celle de la combinaison filtres (voir [[serveurscrutari: | ||
+ | |||
+ | * && : Et | ||
+ | * || : Ou | ||
+ | * ! : Non | ||
+ | |||
+ | On utilise les parenthèses pour les regroupements. Un mot doit être composé uniquement de chiffres et de lettres. La présence d'un caractère spécial entraine une erreur. On utilise des guillemets pour indiquer une séquence de mots séparés par un espace. | ||
+ | |||
+ | Les règles de troncature sont les mêmes que celles de la recherche simple (concature à droite automatique, | ||
+ | |||
+ | Cela donne les exemples suivants : | ||
+ | |||
+ | <code javascript> | ||
+ | q= agriculture && !biologique //cherche les fiches contenant un mot commençant par agriculture et ne contenant pas de mot commençant par biologique | ||
+ | q= agriculture && !(biologique || pays) //cherche les fiches contenant un mot commençant par agriculture et ne contenant ni mot commençant par biologique, ni mot commençant par pays | ||
+ | q= !*dev* //Toutes les fiches qui ne contiennent pas un mot contenant dev | ||
+ | q= (" | ||
+ | </ | ||
+ | |||
+ | ==== Limitation de l' | ||
+ | |||
+ | Il est possible de limiter la recherche pour un mot particulier en le préfixant avec un nom de champ. Les préfixes possibles sont : | ||
+ | |||
+ | * //titre:// dans les titres uniquement | ||
+ | * // | ||
+ | * //motcle:// dans les mots-clés uniquement | ||
+ | * // | ||
+ | * tout nom d' | ||
+ | |||
+ | Cela donne : | ||
+ | |||
+ | <code javascript> | ||
+ | q=sct: | ||
+ | q= titre:pol && !sct: | ||
+ | </ | ||
+ | |||
+ | Plusieurs préfixes peuvent être indiqués en les séparant par des virgules (bien faire attention à ne pas mettre d' | ||
+ | |||
+ | <code javascript> | ||
+ | q=titre, | ||
+ | </ | ||
+ | |||
+ | Il est possible également d' | ||
+ | |||
+ | <code javascript> | ||
+ | q=supplement, | ||
+ | </ | ||
+ | |||
+ | Dans des cas rares, l' | ||
+ | |||
+ | <code javascript> | ||
+ | q=!sct: | ||
+ | q=, | ||
+ | </ | ||
+ | |||
+ | Les préfixes (sauf les noms d' | ||
+ | |||
+ | * //titre// : //titulo// | ||
+ | * // | ||
+ | * //motcle// : // | ||
+ | * // | ||
+ | |||
+ | ==== Cas particulier de la recherche « tous » ==== | ||
+ | |||
+ | Il est possible en recherche avancée d' | ||
+ | |||
+ | //q=*// n'est opérationnel qu'en recherche avancée ; dans les recherches simples et composées, c'est considérée comme une erreur de syntaxe. | ||
+ | |||
+ | ===== Recherche composée ===== | ||
+ | |||
+ | Une recherche composée permet de combiner la simplicité de la syntaxe d'une recherche simple avec les possibilités de limitation de l' | ||
+ | |||
+ | La recherche composée est une exception au caractère obligatoire du paramètre //q//. Il peut toujours être utilisé mais il est complété voire complété par une série de paramètres commençant par //q_//, les caractères après //q_// constituant le nom de la sous-recherche. | ||
+ | |||
+ | Par exemple, le formulaire de la page http:// | ||
+ | |||
+ | <code javascript> | ||
+ | q_1 // Champ « Titre, sous-titre » | ||
+ | q_2 // Champ « Auteurs » | ||
+ | q_3 // Champ « Mots-clés » | ||
+ | q_4 // champ « Autres champs » | ||
+ | </ | ||
+ | |||
+ | Dans l' | ||
+ | |||
+ | Pour que la recherche composée soit intéressante, | ||
+ | |||
+ | |||
+ | <code javascript> | ||
+ | q_1 // Champ « Titre, sous-titre » | ||
+ | q-scope_1=titre, | ||
+ | q_2 // Champ « Auteurs » | ||
+ | q-scope_2=sct: | ||
+ | q_3 // Champ « Mots-clés » | ||
+ | q-scope_3=motcle | ||
+ | q_4 // champ « Autres champs » | ||
+ | q-scope_4=supplement, | ||
+ | </ | ||
+ | |||
+ | Le paramètre //q-mode// est toujours utilisé mais il ne doit pas avoir la valeur // | ||
+ | |||
+ | Considérons l' | ||
+ | |||
+ | <code javascript> | ||
+ | q_mode=intersection | ||
+ | q_entete=économie* politique* | ||
+ | q-scope_entete=titre, | ||
+ | q_auteurs=Dupont Martin | ||
+ | q-scope_auteurs=sct: | ||
+ | q-mode_auteurs=union | ||
+ | </ | ||
+ | |||
+ | Cet exemple se lit de la manière suivante : recherche des fiches avec « économie* » ET « politique* » (// | ||
+ | |||
+ | Cette recherche est équivalente à la recherche suivante exprimée dans la syntaxe avancée : | ||
+ | <code javascript> | ||
+ | (titre, | ||
+ | </ |