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 IndexManager(s).

Author:
Emmanuel Bernard

Method Summary
 IndexManager getIndexManagerForAddition(Class<?> entity, Serializable id, String idInString, org.apache.lucene.document.Document document)
          return the IndexManager where the given entity will be indexed
 IndexManager[] getIndexManagersForAllShards()
          Ask for all shards (eg to query or optimize)
 IndexManager[] getIndexManagersForDeletion(Class<?> entity, Serializable id, String idInString)
          return the IndexManager(s) where the given entity is stored and where the deletion operation needs to be applied id and idInString could be null.
 IndexManager[] getIndexManagersForQuery(FullTextFilterImplementor[] fullTextFilters)
          return the set of IndexManager(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 getIndexManagersForAllShards() fullTextFilters can be empty if no filter is applied
 void initialize(Properties properties, IndexManager[] providers)
          provides access to sharding properties (under the suffix sharding_strategy) and provide access to all the IndexManager for a given index
 

Method Detail

initialize

void initialize(Properties properties,
                IndexManager[] providers)
provides access to sharding properties (under the suffix sharding_strategy) and provide access to all the IndexManager for a given index


getIndexManagersForAllShards

IndexManager[] getIndexManagersForAllShards()
Ask for all shards (eg to query or optimize)


getIndexManagerForAddition

IndexManager getIndexManagerForAddition(Class<?> entity,
                                        Serializable id,
                                        String idInString,
                                        org.apache.lucene.document.Document document)
return the IndexManager where the given entity will be indexed


getIndexManagersForDeletion

IndexManager[] getIndexManagersForDeletion(Class<?> entity,
                                           Serializable id,
                                           String idInString)
return the IndexManager(s) where the given entity is stored and where the deletion operation needs to be applied id and idInString could be null. If null, all the IndexManagers containing entity types should be returned

Parameters:
entity - the type of the deleted entity
id - the id in object form
idInString - the id as transformed by the used TwoWayStringBridge

getIndexManagersForQuery

IndexManager[] getIndexManagersForQuery(FullTextFilterImplementor[] fullTextFilters)
return the set of IndexManager(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 getIndexManagersForAllShards() fullTextFilters can be empty if no filter is applied



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