JDONREFv4 plugin GettingStarted
L'utilisation du plugin JDONREFv3ES nécessite :
- de disposer d'un cluster elasticsearch !
- d'installer le plugin JDONREFv3ES
- d'indexer le contenu
Vous êtes ensuite libre d'effectuer les recherches souhaitées ! L'API elasticsearch peut bien sûr être utilisée, mais le plugin jdonrefv3es fourni un moyen de chercher efficacement des adresses (c'est à dire avec les résultats auquel on devrait s'attendre).
Indexation
Commencez par vous créer un index :
curl -XPUT 'http://localhost:9200/jdonref/'
Pour que le plugin jdonrefv3es soit efficace, il s'agit de respecter les types fournis par jdonref. Il est ainsi possible d'indexer du contenu, comme une commune :
curl -XPUT 'http://localhost:9200/jdonref/commune/1' -d '{ "codeinsee" : "75056", "codedepartement" : "75", "codepays" : "1", "commune" : "PARIS", "codepostal" : "75000", "t0" : "22/03/2014", "geometrie" : { "type": "multipolygon", "coordinates" : [ [[102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0], [102.0, 2.0]], [[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]], [[100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2]] ] } }'
ou une voie :
curl -XPUT 'http://localhost:9200/jdonref/voie/1' -d '{ "numero_min": "1", "numero_max": "192", "typedevoie": "BOULEVARD", "article": "DE", "voie": "HOPITAL", "codeinsee" : "75056", "codedepartement" : "75", "codepays" : "1", "commune" : "PARIS", "codepostal" : "75000", "t0" : "22/03/2014", "geometrie" : { "type": "multipolygon", "coordinates" : [ [[102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0], [102.0, 2.0]], [[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]], [[100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2]] ] } }'
A noter qu'il vous est possible d'utiliser la gestion des synonymes offertes par elasticsearch avec le fichier de synonyme fourni par jdonrefv3es. Il suffit de le définir à la création de votre index :
curl -XPUT 'http://localhost:9200/jdonref/' -d '{ "analysis" : { "analyzer" : { "synonym": { "tokenizer": "whitespace", "filter": ["synonym"] } }, "filter": { "synonym" : { "type" : "synonym", "synonyms_path" : "jdonrev3es_synonym.txt" } } } }'
La recherche pourra ainsi par exemple être effectuée avec le type de voie "BD" plutôt que "BOULEVARD".
Si vous ne voulez pas remplir vous-même les champs "ligne4" et "ligne6", il vous est possible d'utiliser l'analyzer fourni par jdonref :
curl -XPUT 'http://localhost:9200/jdonref/' -d '{ "analysis" : { "analyzer" : { "jdonrefv3es": { "tokenizer": "whitespace" } } } }'
Si les lignes 4 et 6 ne sont pas spécifiées durant l'indexation, elles sont alors calculées à partir des autres champs disponibles.
A noter enfin qu'il est conseillé d'utiliser l'API [BULK] d'ElasticSearch pour procéder à l'indexation d'un très grand nombre d'adresses.