Interface SearchMapping

All Superinterfaces:
SearchScopeProvider

public interface SearchMapping extends SearchScopeProvider
The Hibernate Search mapping between the Hibernate ORM model and the backend(s).

Provides entry points to Hibernate Search operations that are not tied to a specific ORM session.

  • Method Details

    • toEntityManagerFactory

      jakarta.persistence.EntityManagerFactory toEntityManagerFactory()
      Returns:
      The underlying EntityManagerFactory used by this SearchMapping.
    • toOrmSessionFactory

      SessionFactory toOrmSessionFactory()
      Returns:
      The underlying SessionFactory used by this SearchMapping.
    • indexedEntity

      <E> SearchIndexedEntity<E> indexedEntity(Class<E> entityType)
      Type Parameters:
      E - The type of an indexed entity.
      Parameters:
      entityType - The type of an indexed entity. This must be the exact type; passing the type of a mapped-superclass for example will not work.
      Returns:
      A SearchIndexedEntity for the indexed entity with the exact given type.
      Throws:
      SearchException - If the type does not match any indexed entity.
    • indexedEntity

      SearchIndexedEntity<?> indexedEntity(String entityName)
      Parameters:
      entityName - The name of an indexed entity. See Entity.name().
      Returns:
      A SearchIndexedEntity for the indexed entity with the given name.
      Throws:
      SearchException - If the name does not match any indexed entity.
    • allIndexedEntities

      Collection<? extends SearchIndexedEntity<?>> allIndexedEntities()
      Returns:
      A collection containing one SearchIndexedEntity for each indexed entity
    • indexManager

      IndexManager indexManager(String indexName)
      Parameters:
      indexName - The name of an index. See Indexed.index().
      Returns:
      The index manager for the index having indexName as name.
    • backend

      Backend backend()
      Returns:
      The default backend, if any.
    • backend

      Backend backend(String backendName)
      Parameters:
      backendName - The name of a backend. See Indexed.backend().
      Returns:
      The backend having backendName as name.
    • indexingPlanFilter

      @Incubating void indexingPlanFilter(SearchIndexingPlanFilter filter)
      Set a filter defining which types must be included/excluded when indexed within indexing plans (either automatically or manually).

      This does not affect indexing that does not rely on indexing plans, like the mass indexer.

      By default, all indexed and contained types are included.

      Parameters:
      filter - The filter that includes/excludes types when indexed.
    • extension

      default <T> T extension(SearchMappingExtension<T> extension)
      Extend the current search mapping with the given extension, resulting in an extended search mapping offering mapper-specific utilities.
      Type Parameters:
      T - The type of search mapping provided by the extension.
      Parameters:
      extension - The extension to apply.
      Returns:
      The extended search mapping.
      Throws:
      SearchException - If the extension cannot be applied (wrong underlying technology, ...).