Package 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

Constructors
Constructor
Description
`HashBasedRouter()`

## Method Summary

Modifier and Type
Method
Description
`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, String route, 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)`
`int`
`sliceHash(String id, SolrInputDocument sdoc, SolrParams params, DocCollection collection)`

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

`fromString, fullRange, getDocRouter, getName, getRouteField, getRouterSpec, getSearchRangeSingle, getSearchSlices, partitionRange, partitionRange`

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

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

## Constructor Details

### HashBasedRouter

public HashBasedRouter()

## Method Details

### getTargetSlice

public Slice getTargetSlice(String id, SolrInputDocument sdoc, String route, 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

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

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