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 Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description Collection<? extends SearchIndexedEntity<?>>
allIndexedEntities()
Backend
backend()
Backend
backend(String backendName)
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.<E> SearchIndexedEntity<E>
indexedEntity(Class<E> entityType)
SearchIndexedEntity<?>
indexedEntity(String entityName)
IndexManager
indexManager(String indexName)
default <T> SearchScope<T>
scope(Class<T> type)
Create aSearchScope
limited to the given type.default <T> SearchScope<T>
scope(Class<T> expectedSuperType, String entityName)
Create aSearchScope
limited to entity types referenced by their name.<T> SearchScope<T>
scope(Class<T> expectedSuperType, Collection<String> entityNames)
Create aSearchScope
limited to entity types referenced by their name.<T> SearchScope<T>
scope(Collection<? extends Class<? extends T>> types)
Create aSearchScope
limited to the given types.javax.persistence.EntityManagerFactory
toEntityManagerFactory()
org.hibernate.SessionFactory
toOrmSessionFactory()
-
-
-
Method Detail
-
scope
default <T> SearchScope<T> scope(Class<T> type)
Create aSearchScope
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 aSearchScope
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 aSearchScope
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. SeeEntity.name()
.- Returns:
- The created scope.
- See Also:
SearchScope
-
scope
<T> SearchScope<T> scope(Class<T> expectedSuperType, Collection<String> entityNames)
Create aSearchScope
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. SeeEntity.name()
.- Returns:
- The created scope.
- See Also:
SearchScope
-
toEntityManagerFactory
javax.persistence.EntityManagerFactory toEntityManagerFactory()
- Returns:
- The underlying
EntityManagerFactory
used by thisSearchMapping
.
-
toOrmSessionFactory
org.hibernate.SessionFactory toOrmSessionFactory()
- Returns:
- The underlying
SessionFactory
used by thisSearchMapping
.
-
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. SeeEntity.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. SeeIndexed.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. SeeIndexed.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, ...).
-
-