Pages enfant
  • 2. Installation initiale

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

  • Tous les objets doivent être dans un index unique.
  • par Par convention, le type de l'objet (ou document) doit se trouver dans l'attribut "_type". Il doit prendre les valeurs suivantes :
    • CMP quand l'objet est de type composante.
    • ELP quand l'objet est de type élément pédagogique.
    • VET quand l'objet est de type version d'étape.
    • ETU quand l'objet est de type étudiant.
  • Les documents doivent également posséder :
    • un attribut correspondant au libellé
    • un attribut correspondant au code
    • un attribut correspondant à la version
    • un attribut qui va servir pour la recherche rapide :
      • Il peut s'agir simplement de l'attribut libellé ou encore d'un attribut concaténant le code et le libellé de l'objet. Pour exemple, à l'Université de Lorraine nous avons un attribut formaté comme suit :  [CODE] LIBELLE

2.5.1 Exemple

Voici un exemple de l'index utilisé à l'Université de Lorraine :

Image Added

Pour construire cet index nous utilisons une "river", qui permet de créer un index à partir d'une requête SQL.

Exemple de création de river permettant de récupérer les composantes, VET, ELP, et étudiants valides sur n et n-1:

Bloc de code
PUT _river/my_jdbc_river/_meta
{
    "type": "jdbc",
    "jdbc" : {
      "url" : "jdbc:oracle:thin:@apogee.univ.fr:1521:APOGEE",
      "user" : "userApogee",
      "password" :"userPwd",
      "sql": "SELECT 'CMP' || cod_cmp || '0' \"_id\", 'CMP' \"_type\", cod_cmp COD_OBJ, 0 COD_VRS_OBJ, '[' || cod_cmp || '] ' || lib_cmp LIB_DESC_OBJ, lib_cmp LIB_OBJ FROM composante UNION SELECT DISTINCT 'VDI' || vdi.cod_dip || vdi.cod_vrs_vdi \"_id\", 'VDI' \"_type\", vdi.cod_dip COD_OBJ, vdi.cod_vrs_vdi COD_VRS_OBJ, '[' || vdi.cod_dip || '/' || vdi.cod_vrs_vdi || '] ' || vdi.lib_web_vdi LIB_DESC_OBJ, vdi.lib_web_vdi LIB_OBJ FROM version_diplome vdi, diplome d, VDI_FRACTIONNER_VET vfv WHERE vdi.cod_dip = d.cod_dip and vfv.COD_DIP=d.cod_dip and vfv.COD_VRS_VDI=vdi.COD_VRS_VDI and vfv.DAA_FIN_RCT_VET > (select cod_anu - 2 from annee_uni where eta_anu_iae = 'O') UNION SELECT DISTINCT 'VET' || vet.cod_etp || vet.cod_vrs_vet \"_id\", 'VET' \"_type\", vet.cod_etp COD_OBJ, vet.cod_vrs_vet COD_VRS_OBJ, '[' || vet.cod_etp || '/' || vet.cod_vrs_vet || '] ' || vet.lib_web_vet LIB_DESC_OBJ, vet.lib_web_vet LIB_OBJ FROM version_etape vet, etape e, VDI_FRACTIONNER_VET vfv WHERE vet.cod_etp = e.cod_etp and vfv.COD_ETP=e.cod_etp and vfv.COD_VRS_VET=vet.COD_VRS_VET and vfv.DAA_FIN_RCT_VET > (select cod_anu - 2 from annee_uni where eta_anu_iae = 'O') UNION SELECT 'ELP' || cod_elp || '0' \"_id\",'ELP' \"_type\", cod_elp COD_OBJ, 0 COD_VRS_OBJ,'[' || cod_elp || '] ' || lib_elp LIB_DESC_OBJ, lib_elp LIB_OBJ FROM element_pedagogi e UNION select 'ETU' || IND.COD_ETU || '' \"_id\", 'ETU' \"_type\",CAST(IND.COD_ETU as VARCHAR2(40)) COD_OBJ, 0 COD_VRS_OBJ,  '[' || IND.COD_ETU || '] ' || IND.LIB_PR1_IND || ' ' || NVL(IND.LIB_NOM_USU_IND,IND.LIB_NOM_PAT_IND) LIB_DESC_OBJ, IND.LIB_PR1_IND || ' ' || NVL(IND.LIB_NOM_USU_IND,IND.LIB_NOM_PAT_IND) LIB_OBJ from individu ind, INS_ADM_ANU iaa  where IAA.COD_IND=ind.COD_IND and IND.COD_ETU is not null and IAA.COD_ANU > (select cod_anu - 2 from annee_uni where eta_anu_iae = 'O')",
      "index" : "apogee"
    }
}

A noter que les "river" peuvent être automatisées pour mettre à jour l'index régulièremen. Exemple :

Bloc de code
PUT _river/my_jdbc_river/_meta
{
    "type": "jdbc",
    "jdbc" : {
       "url" : "jdbc:oracle:thin:@apogee.univ.fr:1521:APOGEE",
      "user" : "userApogee",
      "password" :"userPwd",
      "schedule": "0 0/15 5-23 * * ?",
      "sql": "REQUETE SQL SUR MESURE",
      "index" : "apogee"
    }
}