Interface SearchMapping


  • public interface SearchMapping
    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 Detail

      • scope

        default <T> SearchScope<T> scope​(Class<T> type)
        Create a SearchScope limited to the given type.
        Type Parameters:
        T - A type to include in the scope.
        Parameters:
        type - A type to include in the scope.
        Returns:
        The created scope.
        See Also:
        SearchScope
      • scope

        <T> SearchScope<T> scope​(Collection<? extends Class<? extends T>> types)
        Create a SearchScope limited to the given types.
        Type Parameters:
        T - A supertype of all types to include in the scope.
        Parameters:
        types - A collection of types to include in the scope.
        Returns:
        The created scope.
        See Also:
        SearchScope
      • scope

        default <T> SearchScope<T> scope​(Class<T> expectedSuperType,
                                         String entityName)
        Create a SearchScope limited to entity types referenced by their name.
        Type Parameters:
        T - A supertype of all entity types to include in the scope.
        Parameters:
        expectedSuperType - A supertype of all entity types to include in the scope.
        entityName - An entity name. See Entity.name().
        Returns:
        The created scope.
        See Also:
        SearchScope
      • scope

        <T> SearchScope<T> scope​(Class<T> expectedSuperType,
                                 Collection<String> entityNames)
        Create a SearchScope limited to entity types referenced by their name.
        Type Parameters:
        T - A supertype of all entity types to include in the scope.
        Parameters:
        expectedSuperType - A supertype of all entity types to include in the scope.
        entityNames - A collection of entity names. See Entity.name().
        Returns:
        The created scope.
        See Also:
        SearchScope
      • toEntityManagerFactory

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

        org.hibernate.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.
      • 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.
      • 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, ...).