org.apache.solr.common.cloud

## Class CompositeIdRouter

- java.lang.Object
- - org.apache.solr.common.cloud.DocRouter
  - - org.apache.solr.common.cloud.HashBasedRouter
    - - org.apache.solr.common.cloud.CompositeIdRouter

-     public class CompositeIdRouter
      extends HashBasedRouter

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.solr.common.cloud.DocRouter

      `DocRouter.Range`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `bitsSeparator`
    `static String` | `NAME`
    `static String` | `SEPARATOR`

    - ### Fields inherited from class org.apache.solr.common.cloud.DocRouter

      `DEFAULT, DEFAULT_NAME`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CompositeIdRouter()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Collection<Slice>` | `getSearchSlicesSingle(String shardKey, SolrParams params, DocCollection collection)` This method is consulted to determine what slices should be queried for a request when an explicit shards parameter was not used.
    `DocRouter.Range` | `keyHashRange(String routeKey)` Get Range for a given CompositeId based route key
    `List<DocRouter.Range>` | `partitionRange(int partitions, DocRouter.Range range)` Returns the range for each partition
    `List<DocRouter.Range>` | `partitionRangeByKey(String key, DocRouter.Range range)`
    `int` | `sliceHash(String id, SolrInputDocument doc, SolrParams params, DocCollection collection)`

    - ### Methods inherited from class org.apache.solr.common.cloud.HashBasedRouter

      `getId, getTargetSlice, hashToSlice, isTargetSlice`

    - ### Methods inherited from class org.apache.solr.common.cloud.DocRouter

      `fromString, fullRange, getDocRouter, getRouteField, getRouterSpec, getSearchSlices`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### NAME

          public static final String NAME

      See Also:
        Constant Field Values

    - #### SEPARATOR

          public static final String SEPARATOR

      See Also:
        Constant Field Values

    - #### bitsSeparator

          public static final int bitsSeparator

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### CompositeIdRouter

          public CompositeIdRouter()

  - ### Method Detail

    - #### sliceHash

          public int sliceHash(String id,
                               SolrInputDocument doc,
                               SolrParams params,
                               DocCollection collection)

      Overrides:
        `sliceHash` in class `HashBasedRouter`

    - #### keyHashRange

          public DocRouter.Range keyHashRange(String routeKey)

      Get Range for a given CompositeId based route key
      Parameters:
        `routeKey` - to return Range for
      Returns:
        Range for given routeKey

    - #### getSearchSlicesSingle

          public Collection<Slice> getSearchSlicesSingle(String shardKey,
                                                         SolrParams params,
                                                         DocCollection collection)

      Description copied from class: `DocRouter`
      This method is consulted to determine what slices should be queried for a request when an explicit shards parameter was not used. This method only accepts a single shard key (or null). If you have a comma separated list of shard keys, call getSearchSlices
      Overrides:
        `getSearchSlicesSingle` in class `HashBasedRouter`

    - #### partitionRangeByKey

          public List<DocRouter.Range> partitionRangeByKey(String key,
                                                           DocRouter.Range range)

    - #### partitionRange

          public List<DocRouter.Range> partitionRange(int partitions,
                                                      DocRouter.Range range)

      Description copied from class: `DocRouter`
      Returns the range for each partition
      Overrides:
        `partitionRange` in class `DocRouter`

Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.