Package org.apache.solr.common.cloud
Class DocRouter
- java.lang.Object
-
- org.apache.solr.common.cloud.DocRouter
-
- Direct Known Subclasses:
HashBasedRouter,ImplicitDocRouter
public abstract class DocRouter extends Object
Class to partition int range into n ranges.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDocRouter.Range
-
Field Summary
Fields Modifier and Type Field Description static DocRouterDEFAULTstatic StringDEFAULT_NAME
-
Constructor Summary
Constructors Constructor Description DocRouter()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description DocRouter.RangefromString(String range)DocRouter.RangefullRange()static DocRoutergetDocRouter(String routerName)protected StringgetRouteField(DocCollection coll)static Map<String,Object>getRouterSpec(ZkNodeProps props)Collection<Slice>getSearchSlices(String shardKeys, 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.abstract 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.abstract SlicegetTargetSlice(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 informationabstract booleanisTargetSlice(String id, SolrInputDocument sdoc, SolrParams params, String shardId, DocCollection collection)List<DocRouter.Range>partitionRange(int partitions, DocRouter.Range range)Returns the range for each partition
-
-
-
Field Detail
-
DEFAULT_NAME
public static final String DEFAULT_NAME
- See Also:
- Constant Field Values
-
DEFAULT
public static final DocRouter DEFAULT
-
-
Method Detail
-
getRouteField
protected String getRouteField(DocCollection coll)
-
getRouterSpec
public static Map<String,Object> getRouterSpec(ZkNodeProps props)
-
fromString
public DocRouter.Range fromString(String range)
-
fullRange
public DocRouter.Range fullRange()
-
partitionRange
public List<DocRouter.Range> partitionRange(int partitions, DocRouter.Range range)
Returns the range for each partition
-
getTargetSlice
public abstract 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
-
getSearchSlicesSingle
public abstract 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. This method only accepts a single shard key (or null). If you have a comma separated list of shard keys, call getSearchSlices
-
isTargetSlice
public abstract boolean isTargetSlice(String id, SolrInputDocument sdoc, SolrParams params, String shardId, DocCollection collection)
-
getSearchSlices
public Collection<Slice> getSearchSlices(String shardKeys, 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. This method accepts a multi-valued shardKeys parameter (normally comma separated from the shard.keys request parameter) and aggregates the slices returned by getSearchSlicesSingle for each shardKey.
-
-