JDONREFv3REST Index API

De JDONREF Wiki

L'API index ajoute ou met à jour une adresse permettant ensuite de la rechercher. L'exemple qui suit insère une adresse au format JSON dans l'index "adresse", avec un identifiant de 1 :

 $ curl -XPUT 'http://localhost:9200/jdonref/adresse/1' -d '{
   "numero" : 12,
   "repetition" : "b",
   "ligne 3": "batiment B",
   "voie": "avenue paul eluard",
   "commune": "bobigny",
   "code postal": "93000",
   "t0" : "17/03/2014",
   "t1" : "25/03/2014"
 }'

Le résultat d'une telle opération est :

 {
   "_index" : "jdonref",
   "_type" : "adresse",
   "_id" : "1",
   "_version" : 1,
   "created" : true
 }
Types prédéfinis

JDONREFv3REST introduit plusieurs types prédéfinis permettant d'indexer :

  • des adresses avec le type adresse
  • des voies avec le type voie
  • des troncons avec le type troncon
  • des communes avec le type commune
  • des départements avec le type departement
  • des pays avec le type pays

C'est l'adresse qui dispose de la plus grande richesse d'information, mais les autres types peuvent disposer d'informations qui leurs sont propres (notamment leur géométrie).

Les types prédéfinis sont décrits ici.

Versionning

Lorsque l'opération PUT est utilisée sur un identifiant déjà existant, son numéro de version est automatiquement incrémenté. Toutefois, le versionning n'existe pas dans la base de donnée de JDONREF, mais les objets disposent d'une période de validité. Si la période de validité n'est pas spécifiée, elle est déterminée à partir de la date du jour et l'objet précédent modifié.

Operation type

Le paramètre op_type = create peut être utilisé pour forcer la création d'un objet, qui échouera si l'objet existe déjà.

 $ curl -XPUT 'http://localhost:9200/jdonref/adresse/1?op_type=create' -d '{
   "numero" : 12,
   "repetition" : "b",
   "ligne 3": "batiment B",
   "voie": "avenue paul eluard",
   "commune": "bobigny",
   "code postal": "93000",
   "t0" : "17/03/2014",
   "t1" : "25/03/2014"
 }'

Il est aussi possible de l'écrire ainsi :

 $ curl -XPUT 'http://localhost:9200/jdonref/adresse/1/_create' -d '{
   "numero" : 12,
   "repetition" : "b",
   "ligne 3": "batiment B",
   "voie": "avenue paul eluard",
   "commune": "bobigny",
   "code postal": "93000",
   "t0" : "17/03/2014",
   "t1" : "25/03/2014"
 }'
Génération automatique d'identifiant

L'indexation peut être réalisée sans spécifier d'identifiant. Dans ce cas de figure, un identifiant sera généré automatiquement. La valeur de op_type sera alors create de manière induite. Par exemple (notez l'usage de POST plutôt que PUT) :

 $ curl -XPOST 'http://localhost:9200/jdonref/adresse' -d '{
   "numero" : 12,
   "repetition" : "b",
   "ligne 3": "batiment B",
   "voie": "avenue paul eluard",
   "commune": "bobigny",
   "code postal": "93000",
   "t0" : "17/03/2014",
   "t1" : "25/03/2014"
 }'

Le résultat serait :

 {
   "_index" : "jdonref",
   "_type" : "adresse",
   "_id" : "6a8ca01c789648e981cc9f70661fcb32",
   "_version" : 1,
   "created" : true
 }