Class ACLIDMurmurRouter

java.lang.Object
org.alfresco.solr.tracker.ACLIDMurmurRouter
All Implemented Interfaces:
DocRouter

public class ACLIDMurmurRouter extends Object implements DocRouter
Nodes are evenly distributed over the shards at random based on the murmur hash of the ACL ID. To use this method, when creating a shard add a new configuration property:
  • shard.method=ACL_ID
  • shard.instance=<shard.instance>
  • shard.count=<shard.count>
See Also:
  • Constructor Details

    • ACLIDMurmurRouter

      public ACLIDMurmurRouter()
  • Method Details

    • routeAcl

      public Boolean routeAcl(int numShards, int shardInstance, org.alfresco.solr.client.Acl acl)
      Description copied from interface: DocRouter
      Checks if the incoming ACL document must be indexed on this shard.
      Specified by:
      routeAcl in interface DocRouter
      Parameters:
      numShards - the total shard count.
      shardInstance - the owning shard instance (i.e. instance number).
      acl - the ACL.
      Returns:
      true if the ACL must be indexed in the shard which owns this DocRouter instance, false otherwise.
    • routeNode

      public Boolean routeNode(int numShards, int shardInstance, org.alfresco.solr.client.Node node)
      Description copied from interface: DocRouter
      Checks if the incoming Node must be indexed on this shard.
      Specified by:
      routeNode in interface DocRouter
      Parameters:
      numShards - the total shard count.
      shardInstance - the owning shard instance (i.e. instance number).
      node - the Node instance.
      Returns:
      true if the Node instance must be indexed in the shard which owns this DocRouter instance, false otherwise.