org.hibernate.search
Interface FullTextSession

All Superinterfaces:
Serializable, Session, SharedSessionContract
All Known Implementing Classes:
FullTextSessionImpl

public interface FullTextSession
extends Session

Extends the Hibernate Session with fulltext search and indexing capabilities.

Author:
Emmanuel Bernard

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.hibernate.Session
Session.LockRequest
 
Method Summary
 FullTextQuery createFullTextQuery(org.apache.lucene.search.Query luceneQuery, Class<?>... entities)
          Create a fulltext query on top of a native Lucene query returning the matching objects of type entities and their respective subclasses.
 MassIndexer createIndexer(Class<?>... types)
          Creates a MassIndexer to rebuild the indexes of some or all indexed entity types.
 void flushToIndexes()
          Flush all index changes forcing Hibernate Search to apply all changes to the index not waiting for the batch limit.
 SearchFactory getSearchFactory()
           
<T> void
index(T entity)
          Force the (re)indexing of a given managed object.
<T> void
purge(Class<T> entityType, Serializable id)
          Remove the entity with the type entityType and the identifier id from the index.
<T> void
purgeAll(Class<T> entityType)
          Remove all entities from of particular class and all its subclasses from the index.
 FullTextSharedSessionBuilder sessionWithOptions()
          
 
Methods inherited from interface org.hibernate.Session
buildLockRequest, byId, byId, byNaturalId, byNaturalId, bySimpleNaturalId, bySimpleNaturalId, cancelQuery, clear, close, contains, createFilter, delete, delete, disableFetchProfile, disableFilter, disconnect, doReturningWork, doWork, enableFetchProfile, enableFilter, evict, flush, get, get, get, get, get, get, getCacheMode, getCurrentLockMode, getEnabledFilter, getEntityName, getFlushMode, getIdentifier, getLobHelper, getSessionFactory, getStatistics, getTypeHelper, isConnected, isDefaultReadOnly, isDirty, isFetchProfileEnabled, isOpen, isReadOnly, load, load, load, load, load, load, load, lock, lock, merge, merge, persist, persist, reconnect, refresh, refresh, refresh, refresh, refresh, replicate, replicate, save, save, saveOrUpdate, saveOrUpdate, setCacheMode, setDefaultReadOnly, setFlushMode, setReadOnly, update, update
 
Methods inherited from interface org.hibernate.SharedSessionContract
beginTransaction, createCriteria, createCriteria, createCriteria, createCriteria, createQuery, createSQLQuery, getNamedQuery, getTenantIdentifier, getTransaction
 

Method Detail

createFullTextQuery

FullTextQuery createFullTextQuery(org.apache.lucene.search.Query luceneQuery,
                                  Class<?>... entities)
Create a fulltext query on top of a native Lucene query returning the matching objects of type entities and their respective subclasses.

Parameters:
luceneQuery - The native Lucene query to be run against the Lucene index.
entities - List of classes for type filtering. The query result will only return entities of the specified types and their respective subtype. If no class is specified no type filtering will take place.
Returns:
A FullTextQuery wrapping around the native Lucene query.
Throws:
IllegalArgumentException - if entityType is null or not a class or superclass annotated with @Indexed.

index

<T> void index(T entity)
Force the (re)indexing of a given managed object. Indexation is batched per transaction: if a transaction is active, the operation will not affect the index at least until commit. Any EntityIndexingInterceptor registered on the entity will be ignored: this method forces an index operation.

Parameters:
entity - The entity to index - must not be null.
Throws:
IllegalArgumentException - if entity is null or not an @Indexed entity

getSearchFactory

SearchFactory getSearchFactory()
Returns:
the SearchFactory instance.

purge

<T> void purge(Class<T> entityType,
               Serializable id)
Remove the entity with the type entityType and the identifier id from the index. If id == null all indexed entities of this type and its indexed subclasses are deleted. In this case this method behaves like purgeAll(Class). Any EntityIndexingInterceptor registered on the entity will be ignored: this method forces a purge operation.

Parameters:
entityType - The type of the entity to delete.
id - The id of the entity to delete.
Throws:
IllegalArgumentException - if entityType is null or not a class or superclass annotated with @Indexed.

purgeAll

<T> void purgeAll(Class<T> entityType)
Remove all entities from of particular class and all its subclasses from the index. Any EntityIndexingInterceptor registered on the entity type will be ignored.

Parameters:
entityType - The class of the entities to remove.
Throws:
IllegalArgumentException - if entityType is null or not a class or superclass annotated with @Indexed.

flushToIndexes

void flushToIndexes()
Flush all index changes forcing Hibernate Search to apply all changes to the index not waiting for the batch limit.


createIndexer

MassIndexer createIndexer(Class<?>... types)
Creates a MassIndexer to rebuild the indexes of some or all indexed entity types. Instances cannot be reused. Any EntityIndexingInterceptor registered on the entity types are applied: each instance will trigger an EntityIndexingInterceptor.onAdd(Object) event from where you can customize the indexing operation.

Parameters:
types - optionally restrict the operation to selected types
Returns:
a new MassIndexer

sessionWithOptions

FullTextSharedSessionBuilder sessionWithOptions()

Specified by:
sessionWithOptions in interface Session


Copyright © 2006-2013 Red Hat Middleware, LLC. All Rights Reserved