Interface SearchSession

All Superinterfaces:
SearchScopeProvider

public interface SearchSession extends SearchScopeProvider
A Hibernate Search session, bound to a Hibernate ORM Session/EntityManager.

Provides entry points to Hibernate Search operations that involve indexing and searching, and that make use of the ORM session.

  • Method Details

    • search

      default <T> SearchQuerySelectStep<?,EntityReference,T,SearchLoadingOptionsStep,?,?> search(Class<T> clazz)
      Initiate the building of a search query.

      The query will target the indexes mapped to indexed entity types among the given class and its subtypes.

      Type Parameters:
      T - An indexed type, or a supertype of all indexed types that will be targeted by the search query.
      Parameters:
      clazz - A class that must be an indexed entity type or a supertype of such type.
      Returns:
      The initial step of a DSL where the search query can be defined.
      See Also:
    • search

      <T> SearchQuerySelectStep<?,EntityReference,T,SearchLoadingOptionsStep,?,?> search(Collection<? extends Class<? extends T>> classes)
      Initiate the building of a search query.

      The query will target the indexes mapped to indexed entity types among the given classes and their subtypes.

      Type Parameters:
      T - A supertype of all indexed types that will be targeted by the search query.
      Parameters:
      classes - A collection of classes. Each must be an indexed entity type or a supertype of such type.
      Returns:
      The initial step of a DSL where the search query can be defined.
      See Also:
    • search

      Initiate the building of a search query.

      The query will target the indexes in the given scope.

      Type Parameters:
      T - A supertype of all types in the given scope.
      Parameters:
      scope - A scope representing all indexed types that will be targeted by the search query.
      Returns:
      The initial step of a DSL where the search query can be defined.
      See Also:
    • schemaManager

      default SearchSchemaManager schemaManager()
      Create a SearchSchemaManager for all indexes.
      Returns:
      A SearchSchemaManager.
    • schemaManager

      default SearchSchemaManager schemaManager(Class<?>... classes)
      Create a SearchSchemaManager for the indexes mapped to indexed entity types among the given classes and their subtypes.
      Parameters:
      classes - An array of classes. Each must be an indexed entity type or a supertype of such type.
      Returns:
      A SearchSchemaManager.
    • schemaManager

      SearchSchemaManager schemaManager(Collection<? extends Class<?>> classes)
      Create a SearchSchemaManager for the indexes mapped to indexed entity types among the given classes and their subtypes.
      Parameters:
      classes - A collection of classes. Each must be an indexed entity type or a supertype of such type.
      Returns:
      A SearchSchemaManager.
    • workspace

      default SearchWorkspace workspace()
      Create a SearchWorkspace for the indexes mapped to all indexed types.
      Returns:
      A SearchWorkspace.
    • workspace

      default SearchWorkspace workspace(Class<?>... classes)
      Create a SearchWorkspace for the indexes mapped to indexed entity types among the given classes and their subtypes.
      Parameters:
      classes - An array of classes. Each must be an indexed entity type or a supertype of such type.
      Returns:
      A SearchWorkspace.
    • workspace

      SearchWorkspace workspace(Collection<? extends Class<?>> classes)
      Create a SearchWorkspace for the indexes mapped to indexed entity types among the given classes and their subtypes.
      Parameters:
      classes - A collection of classes. Each must be an indexed entity type or a supertype of such type.
      Returns:
      A SearchWorkspace.
    • massIndexer

      default MassIndexer massIndexer()
      Creates a MassIndexer to rebuild the indexes of all indexed entity types.

      MassIndexer instances cannot be reused.

      Returns:
      The created mass indexer.
    • massIndexer

      default MassIndexer massIndexer(Class<?>... classes)
      Creates a MassIndexer to rebuild the indexes mapped to indexed entity types among the given classes and their subtypes.

      MassIndexer instances cannot be reused.

      Parameters:
      classes - An array of classes. Each must be an indexed entity type or a supertype of such type.
      Returns:
      The created mass indexer.
    • massIndexer

      MassIndexer massIndexer(Collection<? extends Class<?>> classes)
      Creates a MassIndexer to rebuild the indexes mapped to indexed entity types among the given classes and their subtypes.
      Parameters:
      classes - A collection of classes. Each must be an indexed entity type or a supertype of such type.
      Returns:
      The created mass indexer.
    • indexingPlan

      SearchIndexingPlan indexingPlan()
      Returns:
      The indexing plan for this session, allowing to explicitly index entities or delete them from the index, or to process entity changes or even write to the indexes before the transaction is committed.
    • toEntityManager

      jakarta.persistence.EntityManager toEntityManager()
      Returns:
      The underlying EntityManager used by this SearchSession.
    • toOrmSession

      Session toOrmSession()
      Returns:
      The underlying Session used by this SearchSession.
    • automaticIndexingSynchronizationStrategy

      @Deprecated void automaticIndexingSynchronizationStrategy(AutomaticIndexingSynchronizationStrategy synchronizationStrategy)
      Set the AutomaticIndexingSynchronizationStrategy to use for this session.

      Behavior is undefined if called while entity changes are pending: be sure to call this only just after creating a session, or just after committing a transaction.

      Parameters:
      synchronizationStrategy - The synchronization strategy to use
      See Also:
    • indexingPlanSynchronizationStrategy

      void indexingPlanSynchronizationStrategy(IndexingPlanSynchronizationStrategy synchronizationStrategy)
      Set the IndexingPlanSynchronizationStrategy to use for this session.

      Behavior is undefined if called while entity changes are pending: be sure to call this only just after creating a session, or just after committing a transaction.

      Parameters:
      synchronizationStrategy - The synchronization strategy to use
      See Also:
    • indexingPlanFilter

      @Incubating void indexingPlanFilter(SearchIndexingPlanFilter filter)
      Set a filter configuration and define which types must be included/excluded when indexed within indexing plans of the current session (either automatically or manually).

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

      If a type is not explicitly included/excluded directly or through an included/excluded supertype, the decision will be made by an application filter, which defaults to including all types.

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