Interface SearchLoader<K extends io.vertigo.datamodel.data.model.KeyConcept,I extends io.vertigo.datamodel.data.model.DataObject>

Type Parameters:
K - KeyConcept
I - Indexed data's type
P - Type of the iterator field value
All Superinterfaces:
io.vertigo.core.node.component.Component, io.vertigo.core.node.component.CoreComponent
All Known Implementing Classes:
AbstractSearchLoader, AbstractSqlSearchLoader

public interface SearchLoader<K extends io.vertigo.datamodel.data.model.KeyConcept,I extends io.vertigo.datamodel.data.model.DataObject> extends io.vertigo.core.node.component.Component
Specific SearchIndex loader.
Author:
npiedeloup, pchretien
  • Method Details

    • loadData

      List<SearchIndex<K,I>> loadData(SearchChunk<K> searchChunk)
      Load all data from a list of keyConcepts.
      Parameters:
      searchChunk - the chunk
      Returns:
      List of searchIndex
    • chunk

      Iterable<SearchChunk<K>> chunk(Class<K> keyConceptClass)
      Create a chunk iterator for crawl all keyConcept data.
      Parameters:
      keyConceptClass - keyConcept class
      Returns:
      Iterator of chunk (ordered by ID)
    • chunk

      Iterable<SearchChunk<K>> chunk(Optional<Serializable> startVersion, Class<K> keyConceptClass)
      Create a chunk iterator for crawl keyConcept data over a specific version field, starting at a specific value.
      Parameters:
      keyConceptClass - keyConcept class
      startValue - startValue (version), if empty start with lowest value.
      Returns:
      Iterator of chunk ordered by versionFieldName
    • getVersionFieldName

      Optional<io.vertigo.datamodel.data.definitions.DataFieldName<K>> getVersionFieldName()
      Field use as a version field. It's use to check if an element was modified. If it's comparable for the whole entity set (like a sequence, or an lastModified), it could be use for delta reindexing
      Returns:
      optional version field