Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
serveurscrutari:json:fiche_fields [2012/09/09 20:44] vincent |
serveurscrutari:json:fiche_fields [2022/04/05 00:25] vincent |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Champs des fiches ====== | ====== Champs des fiches ====== | ||
- | Les champs des fiches constituent la masse la plus importante de données susceptibles d'être transmise par les différentes requêtes. La liste des champs à transmettre doit donc être indiquée par le paramètre //fichefields//. La requête renverra toujours au minimum le code de la fiche. | + | Les champs des fiches constituent la masse la plus importante de données susceptibles d'être transmise par les différentes requêtes. La liste des champs à transmettre est indiquée soit par le paramètre //fichefields//, soit par la variante de champs à utiliser indiquée par le paramètre //fieldvariant//. Dans le cas d'absence des deux paramètres, c'est la variante par défaut qui est utilisée (voir la configuration des variantes de champs côté serveur avec le fichier [[serveurscrutari:config:fields|fields.xml]]. |
- | La valeur du paramètre //fichefields// est une liste de champs séparés par une virgule. | ||
- | Les champs possibles sont les suivants : | + | La valeur du paramètre //fichefields// ou de l'attribut //@fields// de l'élément !!<fiche>!! dans [[serveurscrutari:config:fields|fields.xml]] est une liste de champs séparés par une virgule avec les valeurs suivantes : |
+ | |||
+ | * //-codefiche// : par défaut, le code de la fiche est toujours inséré, ce paramètre permet de l'éviter | ||
* //codecorpus// : code du corpus | * //codecorpus// : code du corpus | ||
* //codebase// : code de la base | * //codebase// : code de la base | ||
Ligne 15: | Ligne 16: | ||
* //href// : url de la fiche | * //href// : url de la fiche | ||
* //lang// : langue de la fiche | * //lang// : langue de la fiche | ||
- | * //annee// : année de la fiche | + | * //year// : année de la fiche |
+ | * //date// : date de la fiche | ||
+ | * //dateiso// : date de la fiche au format ISO (par exemple, une fiche dont seule l'année est connue sera datée au premier janvier de cette année) | ||
* //ficheicon// : icone spécifique de la fiche | * //ficheicon// : icone spécifique de la fiche | ||
* //icon// : icone qui est l'icone spécifique de la fiche s'il existe, sinon l'icone de la base de la fiche | * //icon// : icone qui est l'icone spécifique de la fiche s'il existe, sinon l'icone de la base de la fiche | ||
Ligne 26: | Ligne 29: | ||
* //mattrs// : tableau associatif des attributs marqués suivant le même principe que //mtitre//, seuls les attributs qui ont servi à la recherche sont inclus | * //mattrs// : tableau associatif des attributs marqués suivant le même principe que //mtitre//, seuls les attributs qui ont servi à la recherche sont inclus | ||
* //mattrs_primary// : comme précédent, mais tous les attributs du premier groupe (ceux placés avanc les champs complémentaires) sont inclus le tableau associatif | * //mattrs_primary// : comme précédent, mais tous les attributs du premier groupe (ceux placés avanc les champs complémentaires) sont inclus le tableau associatif | ||
- | * //mattrs_all// : comme précédent, mais tous les attributs sont inclus le tableau associatif | + | * //mattrs_all// : comme précédent, mais tous les attributs du premier et second groupes sont inclus le tableau associatif, à l'exception de ceux de type « block » |
- | * //pertinence// : pertinence de la fiche par rapport à la recherche, c'est un réel entre 0 et 1 | + | * //attrs// : attributs techniques sous le forme d'un tableau associatif |
+ | * //attrs_primary// : attributs techniques et du premier groupe sous la forme d'un tableau associatif | ||
+ | * //attrs_all// : tous les attributs sans exception sous la forme d'un tableau associatif (peut conduire à un fichier particulièrement volumineux s'il y a des attributs de type « block ») | ||
+ | * //score// : score de la fiche pour la recherche, c'est un tableau de trois réels entre 0 et 1 : le premier est le score pour l'occurrence, le deuxième pour la date et le troisième pour l'origine ; c'est la somme de ces scores qui détermine l'ordre des fiches | ||
+ | * //codemotclearray// : indique qu'il faut également transmettre les mots-clés indexant la fiche, (c'est le comportement par défaut dans le cas d'une recherche) | ||
+ | * //-codemotclearray// : indique qu'il ne faut pas transmettre les mots-clés indexant la fiche (permet d'annuler le comportement par défaut dans le cas d'une recherche) | ||
+ | * //codemotclearray_all// : indique qu'il faut transmettre tous les mots-clés d'une fiche et pas seulement ceux qui ont contribué à la recherche | ||
+ | * //bythesaurusmap// : regroupe les mots-clés non sous la forme d'un tableau mais d'une table où les mots-clés sont regroupés par thésaurus | ||
+ | * //bythesaurusmap_all//: regroupe les mots-clés comme l'argument précédent, en incluant tous les mots-clés, y compris ceux qui n'ont pas participé à la recherche | ||
Ligne 55: | Ligne 66: | ||
Note : dans le cas d'une chaine qui est non marquée mais tout de même incluse (cas de //mtitre//), le résultat sera un toujours tableau qui contiendra simplement une unique chaine | Note : dans le cas d'une chaine qui est non marquée mais tout de même incluse (cas de //mtitre//), le résultat sera un toujours tableau qui contiendra simplement une unique chaine | ||
- | + | ||
+ | |||
+ | ===== Renommage des noms des champs dans l'objet résultant ===== | ||
+ | |||
+ | Cette fonctionnalité peut être utile quand l'objet JSON est traité directement par d'autres outils (dans l'export au format GeoJSON notamment). | ||
+ | |||
+ | Le moyen le plus efficace est de renommer un champ est d'utiliser les variantes de champs définies du côté serveur avec le fichier [[serveurscrutari:config:fields|fields.xml]] et les éléments !!<alias>!! (qui permettent notamment la concaténation de plusieurs champs en un seul). | ||
+ | |||
+ | Pour des raisons historiques et pratiques, il est possible de renommer certains champs directement avec les paramètres suivants : | ||
+ | |||
+ | * //field-titre// : nom de la propriété du titre (//titre// par défaut) | ||
+ | * //field-soustitre// : nom de la propriété du sous-titre (//soustitre// par défaut) | ||
+ | * //field-href// : nom de la propriété du l'URL (//href// par défaut) | ||
+ | * //field-year// : nom de la propriété de l'année (//year// par défaut) | ||
+ | * //field-{nom d'attribut}// : pour toutes les propriétés basées sur un attribut (//{nom de l'attribut}// par défaut) | ||
+ | |||
+ | |||
===== Structure de l'objet résultant ===== | ===== Structure de l'objet résultant ===== | ||
Ligne 61: | Ligne 89: | ||
Note : même si un champ est indiqué dans //fichefields//, la propriété peut être absente dans l'objet JSON correspondant si la valeur est nulle. | Note : même si un champ est indiqué dans //fichefields//, la propriété peut être absente dans l'objet JSON correspondant si la valeur est nulle. | ||
+ | |||
+ | Version 3 | ||
<code javascript> | <code javascript> | ||
{ | { | ||
- | codefiche: … , // code de la fiche, toujours présent (entier > 0) | + | codefiche: … , // code de la fiche, toujours présent sauf si -codefiche (entier > 0) |
codecorpus: … , // champ 'codecorpus' (entier > 0) | codecorpus: … , // champ 'codecorpus' (entier > 0) | ||
codebase: … , // champ 'codebase' (entier > 0) | codebase: … , // champ 'codebase' (entier > 0) | ||
+ | authority: … , //autorité productrice de la base tel que dans l'URI (chaine) | ||
basename: … , //nom technique de la base tel que dans l'URI (chaine) | basename: … , //nom technique de la base tel que dans l'URI (chaine) | ||
corpusname: … , //nom technique du corpus tel que dans l'URI (chaine) | corpusname: … , //nom technique du corpus tel que dans l'URI (chaine) | ||
- | ficheId: …, // champ 'fiche-id' (chaine) | + | ficheid: …, // champ 'fiche-id' (chaine) |
titre: … , // champ 'titre' (chaine) | titre: … , // champ 'titre' (chaine) | ||
soustitre: … , // champ 'soustitre' (chaine) | soustitre: … , // champ 'soustitre' (chaine) | ||
href: … , // champ 'href' (chaine) | href: … , // champ 'href' (chaine) | ||
lang: … , // champ 'lang' (chaine, code ISO de la langue) | lang: … , // champ 'lang' (chaine, code ISO de la langue) | ||
- | annee: … , // champ 'annee' (entier) | + | year: … , // champ 'year' (entier) |
- | ficheIcon: … , // champ 'ficheicon' (chaine) | + | date: … , // champ 'date' (chaine) |
+ | ficheicon: … , // champ 'ficheicon' (chaine) | ||
icon: … , // champ 'icon' (chaine) | icon: … , // champ 'icon' (chaine) | ||
lat: … , // latitude si champ 'geo' (chaine) | lat: … , // latitude si champ 'geo' (chaine) | ||
lon: … , // longitude si champ 'geo' (chaine) | lon: … , // longitude si champ 'geo' (chaine) | ||
+ | complementArray: [ // tableau des champs complémentaires si champ 'complements' | ||
+ | { | ||
+ | number: … , // numéro du champ complémentaire (entier > 0) | ||
+ | value: … // texte du champ complémentaire (chaine) | ||
+ | } | ||
+ | ], | ||
+ | attrMap: { // si champ 'attrs', tableau associatif des attributs | ||
+ | (clé): [ // la clé est celle de l'attribut, la valeur est le tableau des valeurs de l'attribut | ||
+ | |||
+ | ] | ||
+ | }, | ||
+ | mtitre: [ // tableau du titre marqué | ||
+ | // voir ci-dessus chaines marquées | ||
+ | ], | ||
+ | msoustitre: [ // tableau du soustitre marqué | ||
+ | // voir ci-dessus chaines marquées | ||
+ | ], | ||
+ | mcomplementArray: [ // si champ 'mcomplements', tableau des compléments marqués | ||
+ | { | ||
+ | number: … , // numéro du champ complémentaire (entier > 0) | ||
+ | mvalue: [ // tableau du complément marqué | ||
+ | // voir ci-dessus chaines marquées | ||
+ | ] | ||
+ | } | ||
+ | ], | ||
+ | mattrMap: { // si champ 'mattrs', tableau associatif des attributs marqués | ||
+ | (clé): [ // la clé est celle de l'attribut, la valeur est le tableau des valeurs de l'attribut | ||
+ | // voir de ci-dessus chaines marquées | ||
+ | ] | ||
+ | }, | ||
+ | bythesaurusMap: { // si champ 'bythesaurusmap', tableau associatif des mots-clés regroupés par thésaurus | ||
+ | code_(code): [ // code du thésaurus | ||
+ | // liste des codes des mots-clés | ||
+ | ] | ||
+ | }, | ||
+ | score: [… ] // score de la fiche sous la forme d'un tableau de trois réels entre 0 et 1 | ||
+ | } | ||
+ | |||
+ | </code> | ||
+ | |||
+ | Version 2 et inférieures | ||
+ | |||
+ | <code javascript> | ||
+ | { | ||
+ | codefiche: … , // code de la fiche, toujours présent sauf si -codefiche (entier > 0) | ||
+ | codecorpus: … , // champ 'codecorpus' (entier > 0) | ||
+ | codebase: … , // champ 'codebase' (entier > 0) | ||
+ | basename: … , //nom technique de la base tel que dans l'URI (chaine) | ||
+ | corpusname: … , //nom technique du corpus tel que dans l'URI (chaine) | ||
+ | ficheid: …, // champ 'fiche-id' (chaine) | ||
+ | titre: … , // champ 'titre' (chaine), le nom de la propriété peut être modifié avec field-titre | ||
+ | soustitre: … , // champ 'soustitre' (chaine), le nom de la propriété peut être modifié avec field-soustitre | ||
+ | href: … , // champ 'href' (chaine), le nom de la propriété peut être modifié avec field-href | ||
+ | lang: … , // champ 'lang' (chaine, code ISO de la langue) | ||
+ | annee: … , // champ 'annee' (entier) , le nom de la propriété peut être modifié avec field-annee | ||
+ | date: … , // champ 'date' (chaine) | ||
+ | ficheicon: … , // champ 'ficheicon' (chaine) | ||
+ | icon: … , // champ 'icon' (chaine) | ||
+ | lat: … , // latitude si champ 'geo' (chaine) | ||
+ | lon: … , // longitude si champ 'geo' (chaine) | ||
+ | __ attribut __: … , // attribut correspondant avec les valeurs concaténées suivant le format de l'attribut (chaine) | ||
complementArray: [ // tableau des champs complémentaires si champ 'complements' | complementArray: [ // tableau des champs complémentaires si champ 'complements' | ||
{ | { | ||
Ligne 99: | Ligne 192: | ||
} | } | ||
], | ], | ||
- | mattrMap: [ // si champ 'mattrs', tableau associatif des attributs marqués | + | mattrMap: { // si champ 'mattrs', tableau associatif des attributs marqués |
- | { | + | (clé): [ // la clé est celle de l'attribut, la valeur est le tableau des valeurs de l'attribut |
- | (clé): [ // la clé est celle de l'attribut, la valeur est le tableau des valeurs de l'attribut | + | // voir de ci-dessus chaines marquées |
- | [// voir de ci-dessus chaines marquées | + | ] |
- | ] | + | }, |
- | } | + | score: [… ] // score de la fiche sous la forme d'un tableau de trois réels entre 0 et 1 |
- | ], | + | |
- | pertinence: … , // pertinence de la fiche par rapport à la recherche (réel entre 0 et 1) | + | |
} | } | ||