Package org.alfresco.solr.tracker
Class DBIDRouter
java.lang.Object
org.alfresco.solr.tracker.DBIDRouter
- All Implemented Interfaces:
DocRouter
DBID murmur hash based document router.
This method is available in Alfresco Search Services 1.0 and later versions and is the default sharding option in Solr 6.
Nodes are evenly distributed over the shards at random based on the murmur hash of the DBID.
The access control information is duplicated in each shard.
The distribution of nodes over each shard is very even and shards grow at the same rate.
Also, this is the fall back method if any other sharding information is unavailable.
To use this method, when creating a shard add a new configuration property:
- shard.method=DB_ID
- shard.instance=<shard.instance>
- shard.count=<shard.count>
- Author:
- Joel
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionrouteAcl(int shardCount, int shardInstance, org.alfresco.solr.client.Acl acl) Checks if the incoming ACL document must be indexed on this shard.routeNode(int shardCount, int shardInstance, org.alfresco.solr.client.Node node) Checks if the incoming Node must be indexed on this shard.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.alfresco.solr.tracker.DocRouter
getProperties
-
Constructor Details
-
DBIDRouter
public DBIDRouter()
-
-
Method Details
-
routeAcl
Description copied from interface:DocRouterChecks if the incoming ACL document must be indexed on this shard. -
routeNode
Description copied from interface:DocRouterChecks if the incoming Node must be indexed on this shard.- Specified by:
routeNodein interfaceDocRouter- Parameters:
shardCount- the total shard count.shardInstance- the owning shard instance (i.e. instance number).node- theNodeinstance.- Returns:
- true if the
Nodeinstance must be indexed in the shard which owns thisDocRouterinstance, false otherwise.
-