Package org.elasticsearch.common.lucene
Class ShardCoreKeyMap
java.lang.Object
org.elasticsearch.common.lucene.ShardCoreKeyMap
A map between segment core cache keys and the shard that these segments
belong to. This allows to get the shard that a segment belongs to or to get
the entire set of live core cache keys for a given index. In order to work
this class needs to be notified about new segments. It modifies the current
mappings as segments that were not known before are added and prevents the
structure from growing indefinitely by registering close listeners on these
segments so that at any time it only tracks live segments.
NOTE: This is heavy. Avoid using this class unless absolutely required.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
add(org.apache.lucene.index.LeafReader reader)
Register aLeafReader
.getCoreKeysForIndex(String index)
Get the set of core cache keys associated with the given index.getShardId(Object coreKey)
Return theShardId
that holds the given segment, ornull
if this segment is not tracked.int
size()
Return the number of tracked segments.
-
Constructor Details
-
ShardCoreKeyMap
public ShardCoreKeyMap()
-
-
Method Details
-
add
public void add(org.apache.lucene.index.LeafReader reader)Register aLeafReader
. This is necessary so that the core cache key of this reader can be found later usinggetCoreKeysForIndex(String)
. -
getShardId
Return theShardId
that holds the given segment, ornull
if this segment is not tracked. -
getCoreKeysForIndex
Get the set of core cache keys associated with the given index. -
size
public int size()Return the number of tracked segments.
-