Class ExplicitShardIdWithDynamicPropertyRouter

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

public class ExplicitShardIdWithDynamicPropertyRouter extends ComposableDocRouter
Routes a document only if the shardInstance matches the provided shardId. The access control information is duplicated in each shard. The target shard identifier is provided using a (configurable) property of the incoming document.
Author:
agazzarini
See Also:
  • Constructor Details

    • ExplicitShardIdWithDynamicPropertyRouter

      public ExplicitShardIdWithDynamicPropertyRouter()
    • ExplicitShardIdWithDynamicPropertyRouter

      public ExplicitShardIdWithDynamicPropertyRouter(boolean isInStandaloneMode)
  • Method Details

    • routeAcl

      public Boolean routeAcl(int shardCount, 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.
      Parameters:
      shardCount - 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 shardCount, int shardInstance, org.alfresco.solr.client.Node node)
      Description copied from interface: DocRouter
      Checks if the incoming Node must be indexed on this shard.
      Parameters:
      shardCount - 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.
    • getProperties

      public Map<String,String> getProperties(Optional<org.alfresco.service.namespace.QName> shardProperty)
      Description copied from interface: DocRouter
      Get additional properties to "shardProperty" depending on the Shard Method.
      Parameters:
      shardProperty - custom property used to configure the Router. Note not all routers need that.
      Returns:
      pair of key, value