Ceci est une ancienne révision du document !


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.

q-mode a trois valeurs possibles :

  • intersection (valeur par défaut si q-mode n'est pas défini)
  • union
  • operation

intersection et union sont deux variantes de la recherche simple. operation correspond à la recherche avancée.

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'astérisque en début de terme indique que l'on recherche les mots finissant par le terme, en fin de terme que l'on recherche les mots commençant et aux deux bouts que l'on recherche les mots contenant le terme n'importe où. Par défaut, un astérisque est automatiquement rajouté en fin de terme pour les termes qui ne sont pas entre guillemets, ce comportement pouvant être modifié par la valeur du paramètre wildchar.

Si q-mode a la valeur intersection (ou s'il n'est pas indiqué), on a une recherche « ET » : on recherche les fiches qui contiennent tous les mots de la recherche. Si q-mode a la valeur union, on a une recherche « OU » : on recherche les fiches qui contiennent un des mots de la recherche.

Cela donne les exemples suivants :

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="bio" //recherche du mot bio (les guillemets évitent la troncature à droite automatique
q="agriculture biologique" //Recherche de la séquence de deux mots consécutifs "agriculture et biologique"
q="gouv* pub*" //Recherche d'une séquence d'un mot commençant par gouv suivi d'un mot commençant par pub

Avec q-mode = intersection

q=magasin alimentation //(Mots commençant par magasin) ET (Mots commençant par alimentation)
q=environnement "agricult* bio*" // (Mots commençant par environnement) ET (séquence d'un mot commençant par agricult suivi d'un mot commençant par bio)

Avec q-mode = union

q=politique gouvernance *publ*//(Mots commençant par politique) OU (Mots commençant par gouvernence) OU (Mots contentant 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 Syntaxe des filtres) avec les trois opérateurs logiques suivants :

  • && : 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, astérisques

Cela donne les exemples suivants :

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= ("agriculture* bioloqique*" || "agriculture* paysanne*") && !Larzac // fiches contenant agriculture biologique ou agriculture paysanne et ne parlant pas du Larzac

Limitation de la recherche

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
  • soustitre: dans les sous-titres uniquement
  • motcle: dans les mots-clés uniquement
  • supplement: dans les champs « supplémentaires » (les champs complémentaires et les attributs)
  • tout nom d'attribut défini par le serveur (par exemple, sct:authors:)

Cela donne :

q=sct:authors:Daudet //Recherche sur l'auteur Daudet
q= titre:pol && !sct:authors:Dupont //fiche avec un mot commençant par pol dans le titre et dont l'auteur 'nest pas Dupont
serveurscrutari/json/qsyntax.1412371555.txt.gz · Dernière modification: 2014/10/03 23:25 par vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0