JDONREFv4 Mappings
JDONREFv3ES introduit différents mapping permettant de gérer des adresses.
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).
Sommaire
Le type adresse
Le type adresse est le plus complet. Sa géométrie est un point. Son mapping est défini de la manière suivante :
$ curl -XPUT 'http://localhost:9200/jdonref/adresse/_mapping' -d '{ "adresse": { "properties" : { "adr_id" : { "type" : "string", "store" : true}, "tro_id" : { "type" : "string", "store" : true}, "voi_id" : { "type" : "string", "store" : true}, "codeinsee" : { "type" : "string", "store" : true}, "codedepartement" : { "type" : "string", "store" : true}, "codepays" : { "type" : "string" , "store" : true}, "numero" : { "type" : "integer", "store": true}, "repetition" : { "type" : "string", "store": true}, "typedevoie" : { "type" : "string", "store": true}, "article" : { "type" : "string", "store": true}, "voie" : { "type" : "string", "store": true}, "commune" : { "type" : "string" , "store": true}, "codepostal" : { "type" : "string", "store": true}, "t0" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"}, "t1" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"}, "ligne1" : { "type" : "string", "store": true}, "ligne2" : { "type" : "string", "store": true}, "ligne3" : { "type" : "string", "store": true}, "ligne4" : { "type" : "string", "store": true}, "ligne5" : { "type" : "string", "store": true}, "ligne6" : { "type" : "string", "store": true}, "ligne7" : { "type" : "string", "store": true}, "geometrie" : { "type" : "geo_shape", "precision": "1cm", "tree": "quadtree"} } } }'
Le type troncon
Le type troncon correspond à une portion de voie. Sa géométrie est une linestring. Il dispose de bornes de début et de fin. Mais contrairement à la base de donnée PostgreSQL de JDONREF, il n'a pas de bornes pour chaque coté du troncon (2 troncons sont créés). Son mapping est défini de la manière suivante :
$ curl -XPUT 'http://localhost:9200/jdonref/troncon/_mapping' -d '{ "adresse": { "properties" : { "tro_id" : { "type" : "string", "store" : true}, "voi_id" : { "type" : "string", "store" : true}, "codeinsee" : { "type" : "string", "store" : true}, "codedepartement" : { "type" : "string", "store" : true}, "codepays" : { "type" : "string" , "store" : true}, "numero_debut" : {"type" : "integer", "store" : true}, "numero_fin" : {"type" : "integer", "store" : true}, "repetition_debut" : {"type" : "string", "store" : true}, "repetition_fin" : {"type" : "string", "store" : true}, "typedevoie" : { "type" : "string", "store": true}, "article" : { "type" : "string", "store": true}, "voie" : { "type" : "string", "store": true}, "commune" : { "type" : "string" , "store": true}, "codepostal" : { "type" : "string", "store": true}, "t0" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"}, "t1" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"}, "ligne4" : { "type" : "string", "store": true}, "ligne5" : { "type" : "string", "store": true}, "ligne6" : { "type" : "string", "store": true}, "ligne7" : { "type" : "string", "store": true}, "geometrie" : { "type" : "geo_shape", "precision": "1cm", "tree": "quadtree"} } } }'
Le type voie
Le type voie correspond à une adresse sans numéro. Sa géométrie est une linestring (en attendant l'implémentation du multilinestring par elasticsearch). Elle dispose d'un numéro de début et de fin. Son mapping est défini de la manière suivante :
$ curl -XPUT 'http://localhost:9200/jdonref/voie/_mapping' -d '{ "adresse": { "properties" : { "voi_id" : { "type" : "string", "store" : true}, "codeinsee" : { "type" : "string", "store" : true}, "codedepartement" : { "type" : "string", "store" : true}, "codepays" : { "type" : "string" , "store" : true}, "numero_min" : {"type" : "integer", "store" : true}, "numero_max" : {"type" : "integer", "store" : true}, "typedevoie" : { "type" : "string", "store": true}, "article" : { "type" : "string", "store": true}, "voie" : { "type" : "string", "store": true}, "commune" : { "type" : "string" , "store": true}, "codepostal" : { "type" : "string", "store": true}, "t0" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"}, "t1" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"}, "ligne4" : { "type" : "string", "store": true}, "ligne5" : { "type" : "string", "store": true}, "ligne6" : { "type" : "string", "store": true}, "ligne7" : { "type" : "string", "store": true}, "geometrie" : { "type" : "geo_shape", "precision": "1cm", "tree": "quadtree"} } } }'
Le type commune
Le type commune a pour géométrie un multipolygon, sans extrusion. Son mapping est défini de la manière suivante :
$ curl -XPUT 'http://localhost:9200/jdonref/commune/_mapping' -d '{ "adresse": { "properties" : { "codeinsee" : { "type" : "string", "store" : true}, "codedepartement" : { "type" : "string", "store" : true}, "codepays" : { "type" : "string" , "store" : true}, "commune" : { "type" : "string" , "store": true}, "codepostal" : { "type" : "string", "store": true}, "t0" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"}, "t1" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"}, "ligne4" : { "type" : "string", "store": true}, "ligne5" : { "type" : "string", "store": true}, "ligne6" : { "type" : "string", "store": true}, "ligne7" : { "type" : "string", "store": true}, "geometrie" : { "type" : "geo_shape", "precision": "1cm", "tree": "quadtree"} } } }'
Le type departement
Le type commune a pour géométrie un multipolygon, sans extrusion. Son mapping est défini de la manière suivante :
$ curl -XPUT 'http://localhost:9200/jdonref/departement/_mapping' -d '{ "adresse": { "properties" : { "codedepartement" : { "type" : "string", "store" : true}, "codepays" : { "type" : "string" , "store" : true}, "t0" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"}, "t1" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"}, "ligne6" : { "type" : "string", "store": true}, "ligne7" : { "type" : "string", "store": true}, "geometrie" : { "type" : "geo_shape", "precision": "1cm", "tree": "quadtree"} } } }'
Le type pays
Le type pays a pour géométrie un multipolygon, sans extrusion. Son mapping est défini de la manière suivante :
$ curl -XPUT 'http://localhost:9200/jdonref/pays/_mapping' -d '{ "adresse": { "properties" : { "codepays" : { "type" : "string" , "store" : true}, "t0" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"}, "t1" : { "type" : "date", "format": "YYYY-MM-dd HH:mm:ss"}, "ligne7" : { "type" : "string", "store": true}, "geometrie" : { "type" : "geo_shape", "precision": "1cm", "tree": "quadtree"} } } }'