Package org.hibernate.search.store
Interface IndexShardingStrategy
- All Known Implementing Classes:
IdHashShardingStrategy,NotShardedStrategy
public interface IndexShardingStrategy
Defines how a given virtual index shards data into different DirectoryProviders
-
Method Summary
Modifier and TypeMethodDescriptiongetDirectoryProviderForAddition(Class<?> entity, Serializable id, String idInString, Document document) return the DirectoryProvider where the given entity will be indexedDirectoryProvider<?>[]Ask for all shards (eg to query or optimize)DirectoryProvider<?>[]getDirectoryProvidersForDeletion(Class<?> entity, Serializable id, String idInString) return the DirectoryProvider(s) where the given entity is stored and where the deletion operation needs to be applied id and idInString can be null.DirectoryProvider<?>[]getDirectoryProvidersForQuery(FullTextFilterImplementor[] fullTextFilters) return the set of DirectoryProvider(s) where the entities matching the filters are stored this optional optimization allows queries to hit a subset of all shards, which may be useful for some datasets if this optimization is not needed, return getDirectoryProvidersForAllShards() fullTextFilters can be empty if no filter is appliedvoidinitialize(Properties properties, DirectoryProvider<?>[] providers) provides access to sharding properties (under the suffix sharding_strategy) and provide access to all the DirectoryProviders for a given index
-
Method Details
-
initialize
provides access to sharding properties (under the suffix sharding_strategy) and provide access to all the DirectoryProviders for a given index -
getDirectoryProvidersForAllShards
DirectoryProvider<?>[] getDirectoryProvidersForAllShards()Ask for all shards (eg to query or optimize) -
getDirectoryProviderForAddition
DirectoryProvider<?> getDirectoryProviderForAddition(Class<?> entity, Serializable id, String idInString, Document document) return the DirectoryProvider where the given entity will be indexed -
getDirectoryProvidersForDeletion
DirectoryProvider<?>[] getDirectoryProvidersForDeletion(Class<?> entity, Serializable id, String idInString) return the DirectoryProvider(s) where the given entity is stored and where the deletion operation needs to be applied id and idInString can be null. If null, all the directory providers containing entity types should be returned -
getDirectoryProvidersForQuery
return the set of DirectoryProvider(s) where the entities matching the filters are stored this optional optimization allows queries to hit a subset of all shards, which may be useful for some datasets if this optimization is not needed, return getDirectoryProvidersForAllShards() fullTextFilters can be empty if no filter is applied
-