public abstract class DocRouter extends Object
| 限定符和类型 | 类和说明 |
|---|---|
static class |
DocRouter.Range |
| 限定符和类型 | 字段和说明 |
|---|---|
static DocRouter |
DEFAULT |
static String |
DEFAULT_NAME |
| 构造器和说明 |
|---|
DocRouter() |
| 限定符和类型 | 方法和说明 |
|---|---|
DocRouter.Range |
fromString(String range) |
DocRouter.Range |
fullRange() |
static DocRouter |
getDocRouter(String routerName) |
abstract String |
getName() |
String |
getRouteField(DocCollection coll) |
static Map<String,Object> |
getRouterSpec(ZkNodeProps props) |
DocRouter.Range |
getSearchRangeSingle(String shardKey,
SolrParams params,
DocCollection collection)
This method is consulted to determine what search range (the part of the hash ring) should be queried for a request when
an explicit shards parameter was not used.
|
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 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 void |
init(DocCollection coll) |
abstract boolean |
isTargetSlice(String id,
SolrInputDocument sdoc,
SolrParams params,
String shardId,
DocCollection collection) |
List<DocRouter.Range> |
partitionRange(int partitions,
DocRouter.Range range)
Split the range into partitions.
|
List<DocRouter.Range> |
partitionRange(int partitions,
DocRouter.Range range,
float fuzz)
Split the range into partitions with inexact sizes.
|
public static final DocRouter DEFAULT
protected void init(DocCollection coll)
public String getRouteField(DocCollection coll)
public static Map<String,Object> getRouterSpec(ZkNodeProps props)
public DocRouter.Range fromString(String range)
public DocRouter.Range fullRange()
public List<DocRouter.Range> partitionRange(int partitions, DocRouter.Range range)
partitions - number of partitionsrange - range to splitpublic List<DocRouter.Range> partitionRange(int partitions, DocRouter.Range range, float fuzz)
partitions - number of partitionsrange - range to splitfuzz - value between 0 (inclusive) and 0.5 (exclusive) indicating inexact split, i.e. percentage
of variation in resulting ranges - odd ranges will be larger and even ranges will be smaller
by up to that percentage.public abstract Slice getTargetSlice(String id, SolrInputDocument sdoc, String route, SolrParams params, DocCollection collection)
public abstract Collection<Slice> getSearchSlicesSingle(String shardKey, SolrParams params, DocCollection collection)
public DocRouter.Range getSearchRangeSingle(String shardKey, SolrParams params, DocCollection collection)
public abstract boolean isTargetSlice(String id, SolrInputDocument sdoc, SolrParams params, String shardId, DocCollection collection)
public abstract String getName()
public Collection<Slice> getSearchSlices(String shardKeys, SolrParams params, DocCollection collection)
Copyright © 2006–2022 The Apache Software Foundation. All rights reserved.