java.lang.Object
io.vertigo.datafactory.plugins.search.elasticsearch.ESDocumentCodec

public final class ESDocumentCodec extends Object
Traduction bi directionnelle des objets SOLR en objets logique de recherche. Pseudo Codec : asymétrique par le fait que ElasticSearch gère un objet différent en écriture et lecture. L'objet lu ne contient pas les données indexées non stockées !
Author:
pchretien, npiedeloup
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
    static final String
    FieldName containing Full result object.
  • Constructor Summary

    Constructors
    Constructor
    Description
    ESDocumentCodec(io.vertigo.commons.codec.CodecManager codecManager, Map<Class,io.vertigo.core.lang.BasicTypeAdapter> typeAdapters)
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    encodeValue(Object value, io.vertigo.datamodel.smarttype.definitions.SmartTypeDefinition smartTypeDefinition)
     
    <S extends io.vertigo.datamodel.data.model.KeyConcept, I extends io.vertigo.datamodel.data.model.DataObject>
    Map<String,Object>
    index2Json(SearchIndex<S,I> index)
    Transformation d'un index en un document ElasticSearch.
    <I extends io.vertigo.datamodel.data.model.DataObject>
    I
    searchHit2DtIndex(io.vertigo.datamodel.data.definitions.DataDefinition indexDtDefinition, co.elastic.clients.elasticsearch.core.search.Hit searchHit)
    Transformation d'un resultat ElasticSearch en un index.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • ESDocumentCodec

      public ESDocumentCodec(io.vertigo.commons.codec.CodecManager codecManager, Map<Class,io.vertigo.core.lang.BasicTypeAdapter> typeAdapters)
      Constructor.
      Parameters:
      codecManager - Manager des codecs
      codecManager - Manager de la modelisation (SmartTypes)
  • Method Details

    • searchHit2DtIndex

      public <I extends io.vertigo.datamodel.data.model.DataObject> I searchHit2DtIndex(io.vertigo.datamodel.data.definitions.DataDefinition indexDtDefinition, co.elastic.clients.elasticsearch.core.search.Hit searchHit)
      Transformation d'un resultat ElasticSearch en un index. Les highlights sont ajoutés avant ou après (non determinable).
      Type Parameters:
      I - Type d'object indexé
      S - Type du sujet représenté par ce document
      Parameters:
      searchHit - Resultat ElasticSearch
      indexDefinition - DataDefinition de l'index
      Returns:
      Objet logique de recherche
    • index2Json

      public <S extends io.vertigo.datamodel.data.model.KeyConcept, I extends io.vertigo.datamodel.data.model.DataObject> Map<String,Object> index2Json(SearchIndex<S,I> index) throws IOException
      Transformation d'un index en un document ElasticSearch.
      Type Parameters:
      S - Type du sujet représenté par ce document
      I - Type d'object indexé
      Parameters:
      index - Objet logique de recherche
      Returns:
      Document SOLR
      Throws:
      IOException - Json exception
    • encodeValue

      public Object encodeValue(Object value, io.vertigo.datamodel.smarttype.definitions.SmartTypeDefinition smartTypeDefinition)