## org.apache.solr.common.cloud
Class HashBasedRouter

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

Direct Known Subclasses:
  CompositeIdRouter, PlainIdRouter

    public abstract class HashBasedRouter

extends DocRouter

Nested Class Summary

Nested classes/interfaces inherited from class org.apache.solr.common.cloud.DocRouter
`DocRouter.Range`

Field Summary

Fields inherited from class org.apache.solr.common.cloud.DocRouter
`DEFAULT, DEFAULT_NAME`

Constructor Summary
`HashBasedRouter()`

Method Summary
`protected String` `getId(SolrInputDocument sdoc, SolrParams params)`
`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.
`Slice` `getTargetSlice(String id, SolrInputDocument sdoc, SolrParams params, DocCollection collection)` Returns the Slice that the document should reside on, or null if there is not enough information
`protected Slice` `hashToSlice(int hash, DocCollection collection)`
`boolean` `isTargetSlice(String id, SolrInputDocument sdoc, SolrParams params, String shardId, DocCollection collection)`
`protected int` `sliceHash(String id, SolrInputDocument sdoc, SolrParams params)`

Methods inherited from class org.apache.solr.common.cloud.DocRouter
`fromString, fullRange, getDocRouter, getSearchSlices, partitionRange`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### HashBasedRouter

    public HashBasedRouter()

Method Detail

### getTargetSlice

    public Slice getTargetSlice(String id,
                                SolrInputDocument sdoc,
                                SolrParams params,
                                DocCollection collection)

  Description copied from class: `DocRouter`
  Returns the Slice that the document should reside on, or null if there is not enough information

  Specified by:
    `getTargetSlice` in class `DocRouter`

### isTargetSlice

    public boolean isTargetSlice(String id,
                                 SolrInputDocument sdoc,
                                 SolrParams params,
                                 String shardId,
                                 DocCollection collection)

  Specified by:
    `isTargetSlice` in class `DocRouter`

### sliceHash

    protected int sliceHash(String id,
                            SolrInputDocument sdoc,
                            SolrParams params)

### getId

    protected String getId(SolrInputDocument sdoc,
                           SolrParams params)

### hashToSlice

    protected Slice hashToSlice(int hash,
                                DocCollection collection)

### 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

  Specified by:
    `getSearchSlicesSingle` in class `DocRouter`

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