Cette requête JSON est la requête principale de Scrutari car c'est elle qui permet de faire une recherche sur les fiches. Elles retournent toutes les fiches ainsi que tous les mots-clés qui ont servi à la recherche.
corpuslist, baselist, categorylist et thesauruslist peuvent être utiliser en mode d'exclusion, c'est à dire pour indiquer des corpus, des bases, des catégories ou des thésaurus qui doivent être exclus de la recherche. Pour cela, il faut commencer le paramètre par un point d'exclamation !.
Dans tous les cas corpuslist et baselist s'additionnent (la liste des corpus sélectionnés est celle de corpuslist ainsi que tous les corpus des bases indiquées par baselist). Si baselist indique une exclusion et corpuslist une inclusion (ou inversement), c'est le critère d'exclusion qui a préséance sur le critère d'inclusion (i.e. un corpus listé dans corpuslist mais appartenant à une base exclue par baselist sera exclu).
Version 3 :
{ ficheSearchResult: { searchMeta : { //objet contenant les informations sur la recherche q: … , //séquence de recherche (chaine) qId: … , //identifiant de la recherche (chaine) lang: … , //langue utilisée pour l'interface (valeur du paramètre lang s'il était présent) (chaine) ficheCount: … , //nombre de fiches trouvées ficheMaximum: … , //nombre de fiches sur lesquelles a porté la recherche motcleCount: … , //nombre de mots-clés contenant au moins un des composants de la séquence de recherche options: { // objet des options baselist: { // si la recherche se fait sur une sélection de base exclude: …, //booléen sir la liste est exclusive ou inclusive array: [ … code des bases ] }, langlist:, // même modèle que langlist corpuslist:, // même modèle que corpuslist thesauruslist: // même modèle que thesauruslist } }, ficheGroupType: … , // type de groupement des fiches, prend la valeur "category" (regroupement par catégorie) ou "none" (pas de regroupement) ficheGroupArray: [ //tableau des groupes de fiches répondant aux critères de recherche, vide s'il n'y aucune fiche { // chaque groupe de fiches est un objet category: { // objet décrivant la catégorie du groupement, présent uniquement si ficheGroupType="category", autrement dit, si des catégories sont définies pour le moteur en question { rank: … , // rang de la catégorie(entier > 0) name: … , // nom de la catégorie (chaine) title: … // intitulé de la catégorie dans la langue d'interface (chaine) }, ficheCount: … ,//Nombre total de fiches dans le groupe ficheArray: [ //tableau des fiches (sa longueur peut être largement inférieure à ficheCount si le paramètre start est défini) { // chaque fiche est un objet __fichefields__ // série de propriétés définies par les paramètres fichefields ou fieldvariant codemotcleArray: [...] // tableau des codes des mots-clés participant à la recherche et indexant la fiche (tableau d'entiers > 0), peut être étendu à tous les mots-clés indexant la fiche (voir les champs d'une fiche) } ] } ], motcleArray: [ // tableau des mots-clés, vide s'il n'y a aucun mot-clé { __motclefields__ // série propriétés définies par les paramètres motclefields ou fieldvariant } ], engineInfo: {//objet identique à l'objet produit par type=engine (présent si le paramètre insert contient la valeur engineinfo) … } } }
Version 1 et 2 :
{ ficheSearchResult: { q: … , //séquence de recherche (chaine) qId: … , //identifiant de la recherche (chaine) lang: … , //langue utilisée pour l'interface (valeur du paramètre lang s'il était présent) (chaine) ficheCount: … , //nombre de fiches trouvées ficheMaximum: … , //nombre de fiches sur lesquelles a porté la recherche motcleCount: … , //nombre de mots-clés contenant au moins un des composants de la séquence de recherche ficheGroupType: … , // type de groupement des fiches, prend la valeur "category" (regroupement par catégorie) ou "none" (pas de regroupement) ficheGroupArray: [ //tableau des groupes de fiches répondant aux critères de recherche, vide s'il n'y aucune fiche { // chaque groupe de fiches est un objet category: { // objet décrivant la catégorie du groupement, présent uniquement si ficheGroupType="category", autrement dit, si des catégoires sont définies pour le moteur en question { rank: … , // rang de la catégorie(entier > 0) name: … , // nom de la catégorie (chaine) title: … // intitulé de la catégorie dans la langue d'interface (chaine) }, ficheCount: … ,//Nombre total de fiches dans le groupe ficheArray: [ //tableau des fiches (sa longueur peut être largement inférieure à ficheCount si le paramètre start est défini) { // chaque fiche est un objet __fichefields__ // série propriétés définies par les paramètres fichefields ou fieldvariant codemotcleArray: [...] // tableau des codes des mots-clés participant à la recherche et indexant la fiche (tableau d'entiers > 0) } ] } ], motcleArray: [ // tableau des mots-clés, vide s'il n'y a aucun mot-clé { __motclefields__ // série propriétés définies par les paramètres motclefields ou fieldvariant } ], corpusIntituleArray: [ // tableau des intitulés de corpus, si le paramètre intitule est défini { codecorpus: … , // code du corpus (entier > 0) corpus: … , // intitulé du corpus (chaine) fiche: … , // intitulé d'une fiche (chaine) complement_XXX: … // intitulé du complément de numéro XXX } ], attributes: {//objet identique à l'objet attributes de type=engine (présent si le paramètre intitules a la valeur attributes) … } } }
Version 0 :
{ ficheGroupType:"corpusclasse" (remplacé de "category") corpusClasse: { // à la place category { rank: … , // rang de la classe (entier > 0) name: … , // nom de la classe (chaine) intitule: … // intitulé de la classe dans la langue d'interface (chaine) },