JDONREFv3ES Type

De JDONREF Wiki

Le type adresse fourni avec le plugin de JDONREF permet simplement de calculer certains champs qui n'auraient pas été fournis durant l'indexation. Ce calcul est à la base du fonctionnement de la recherche d'adresse.

Principe

ElasticSearch est un moteur de recherche par indexation inversée. La logique de ces outils permet une grande performance dans les recherches à partir du moment où les données sont correctement organisées. Le principe du type adresse est d'assister à l'indexation des adresses. Plus concrètement, jdonrefv3es permet d'indexer les éléments de l'adresse différemment suivant leur nature, et de créer des champs complémentaires. Toutefois, pour que l'indexation fonctionne correctement, il est nécessaire d'utiliser en complément le TokenFilter adresse.

Indexation

Les fichiers de mapping définissent l'indexation d'un ensemble de champs de l'adresse. Le type adresse introduit un champ complémentaire "fullName".

Il est la concaténation d'autres champs du document adresse, en appliquant les règles suivantes concernant l'indexation :

  1. l'indexation du numéro n'utilise pas le token filter ngram ;
  2. l'indexation du code postal et du code département est réalisée ;
  3. l'indexation des autres champs s'appuyent sur le token filter ngram et les synonymes ;

De cette manière, tous les champs pourront être utilisés avec auto-complétion, sauf le champ numéro. En effet, l'expérience utilisateur de l'auto-complétion sur le numéro d'adresse donne des résultats tel que :

 saisie de 2 HOPITAL
 résultat 2 BOULEVARD DE L HOPITAL 75005 PARIS
 résultat 20 BOULEVARD DE L HOPITAL 75005 PARIS
 résultat 21 BOULEVARD DE L HOPITAL 75005 PARIS

qui ne sont pas nécessairement ceux auxquels s'attendent les utilisateurs qui ont saisi un numéro d'adresse.

Pour chaque champ composant fullName, il est possible d'ajouter des méta-informations qui permettront au TokenFilter adresse d'adapter l'indexation de ces champs suivant le comportement défini ci-dessus.

Champs générés

En version 0.2, seul le champ fullName est généré. Les autres champs sont décrit pour information.

Il s'agit des champs :

  • ligne4
  • ligne6
  • ligne7
  • fullName

Le champ ligne4 est calculé à partir des champs suivants :

  • numero
  • repetition
  • type de voie
  • article
  • voie

Le champ ligne6 est calculé à partir des champs :

  • code_postal
  • commune
  • code_arrondissement

Le champ ligne7 est calculé à partir des champs :

  • pays

Le champ fullName est calculé à partir des champs :

  • ligne4
  • ligne6
  • ligne7
  • le code_departement est aussi pris en compte (ne peut pas être déduit des autres champs par un tokenfilter)
Configuration

<<A rédiger>>