Package org.hibernate.search
Interface MassIndexer
- All Known Implementing Classes:
MassIndexerImpl
public interface MassIndexer
A MassIndexer is useful to rebuild the indexes from the
data contained in the database.
This process is expensive: all indexed entities and their
indexedEmbedded properties are scrolled from database.
-
Method Summary
Modifier and TypeMethodDescriptionbatchSizeToLoadObjects(int batchSize) Sets the batch size used to load the root entities.cacheMode(org.hibernate.CacheMode cacheMode) Sets the cache interaction mode for the data loading tasks.limitIndexedObjectsTo(long maximum) EXPERIMENTAL method: will probably change Will stop indexing after having indexed a set amount of objects.optimizeAfterPurge(boolean optimize) If index optimization should be run before starting, after the purgeAll.optimizeOnFinish(boolean optimize) If index optimization has to be started at the end of the indexing process.Override the defaultMassIndexerProgressMonitor.purgeAllOnStart(boolean purgeAll) If all entities should be removed from the index before starting using purgeAll.Future<?> start()Starts the indexing process in background (asynchronous).voidStarts the indexing process, and then block until it's finished.threadsForIndexWriter(int numberOfThreads) Sets the number of threads to be used to analyze the documents and write to the index.threadsForSubsequentFetching(int numberOfThreads) Sets the number of threads used to load the lazy collections related to the indexed entities.threadsToLoadObjects(int numberOfThreads) Set the number of threads to be used to load the root entities.
-
Method Details
-
threadsToLoadObjects
Set the number of threads to be used to load the root entities.- Parameters:
numberOfThreads-- Returns:
- this for method chaining
-
batchSizeToLoadObjects
Sets the batch size used to load the root entities.- Parameters:
batchSize-- Returns:
- this for method chaining
-
threadsForSubsequentFetching
Sets the number of threads used to load the lazy collections related to the indexed entities.- Parameters:
numberOfThreads-- Returns:
- this for method chaining
-
threadsForIndexWriter
Sets the number of threads to be used to analyze the documents and write to the index.
This overrides the global property hibernate.search.batchbackend.concurrent_writers.
Might be ignored by
BatchBackendimplementations other thanorg.hibernate.search.backend.impl.batchlucene.LuceneBatchBackend- Parameters:
numberOfThreads-- Returns:
- this for method chaining
- See Also:
-
progressMonitor
Override the defaultMassIndexerProgressMonitor.- Parameters:
monitor- this instance will receive updates about the massindexing progress.- Returns:
- this for method chaining
-
cacheMode
Sets the cache interaction mode for the data loading tasks. Defaults to CacheMode.IGNORE.- Returns:
- this for method chaining
-
optimizeOnFinish
If index optimization has to be started at the end of the indexing process. Defaults to true.- Parameters:
optimize-- Returns:
- this for method chaining
-
optimizeAfterPurge
If index optimization should be run before starting, after the purgeAll. Has no effect if purgeAll is set to false. Defaults to true.- Parameters:
optimize-- Returns:
- this for method chaining
-
purgeAllOnStart
If all entities should be removed from the index before starting using purgeAll. Set it to false only if you know there are no entities in the index: otherwise search results may be duplicated. Defaults to true.- Parameters:
purgeAll-- Returns:
- this for method chaining
-
limitIndexedObjectsTo
EXPERIMENTAL method: will probably change Will stop indexing after having indexed a set amount of objects. As a results the index will not be consistent with the database: use only for testing on an (undefined) subset of database data.- Parameters:
maximum-- Returns:
-
start
Future<?> start()Starts the indexing process in background (asynchronous). Can be called only once.- Returns:
- a Future to control task canceling. get() will block until completion. cancel() is currently not implemented.
-
startAndWait
Starts the indexing process, and then block until it's finished. Can be called only once.- Throws:
InterruptedException- if the current thread is interrupted while waiting.
-