Package org.apache.solr.search.stats
Class LRUStatsCache
- java.lang.Object
-
- org.apache.solr.search.stats.StatsCache
-
- org.apache.solr.search.stats.ExactStatsCache
-
- org.apache.solr.search.stats.LRUStatsCache
-
- All Implemented Interfaces:
PluginInfoInitialized
public class LRUStatsCache extends ExactStatsCache
UnlikeExactStatsCachethis implementation preserves term stats across queries in a set of LRU caches (with the same life-cycle as SolrIndexSearcher), and based on surface features of a query it determines the need to send additional requests to retrieve local term and collection statistics from shards. As a result the additional requests may be needed much less frequently.Query terms, their stats and field stats are maintained in LRU caches, with the size by default
DEFAULT_MAX_SIZE, one cache per shard. These caches are updated as needed (when term or field statistics are missing). Each instance of the component keeps also a global stats cache, which is aggregated from per-shard caches.Cache entries expire after a max idle time, by default
DEFAULT_MAX_IDLE_TIME.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.solr.search.stats.ExactStatsCache
ExactStatsCache.ExactStatsSource
-
Nested classes/interfaces inherited from class org.apache.solr.search.stats.StatsCache
StatsCache.StatsCacheMetrics
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_MAX_IDLE_TIMEstatic intDEFAULT_MAX_SIZE-
Fields inherited from class org.apache.solr.search.stats.StatsCache
COL_STATS_KEY, FIELDS_KEY, pluginInfo, statsCacheMetrics, TERM_STATS_KEY, TERMS_KEY
-
-
Constructor Summary
Constructors Constructor Description LRUStatsCache()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddToGlobalColStats(SolrQueryRequest req, Map.Entry<String,CollectionStats> e)protected voidaddToGlobalTermStats(SolrQueryRequest req, Map.Entry<String,TermStats> e)protected voidaddToPerShardColStats(SolrQueryRequest req, String shard, Map<String,CollectionStats> colStats)protected voidaddToPerShardTermStats(SolrQueryRequest req, String shard, String termStatsString)voidclear()Clear cached statistics.protected StatsSourcedoGet(SolrQueryRequest req)protected ShardRequestdoRetrieveStatsRequest(ResponseBuilder rb)protected Map<String,CollectionStats>getPerShardColStats(ResponseBuilder rb, String shard)protected TermStatsgetPerShardTermStats(SolrQueryRequest req, String t, String shard)voidinit(PluginInfo info)protected voidprintStats(SolrQueryRequest req)-
Methods inherited from class org.apache.solr.search.stats.ExactStatsCache
doMergeToGlobalStats, doReceiveGlobalStats, doReturnLocalStats, doSendGlobalStats
-
Methods inherited from class org.apache.solr.search.stats.StatsCache
approxCheckMissingStats, get, getCacheMetrics, mergeToGlobalStats, receiveGlobalStats, retrieveStatsRequest, returnLocalStats, sendGlobalStats
-
-
-
-
Field Detail
-
DEFAULT_MAX_SIZE
public static final int DEFAULT_MAX_SIZE
- See Also:
- Constant Field Values
-
DEFAULT_MAX_IDLE_TIME
public static final int DEFAULT_MAX_IDLE_TIME
- See Also:
- Constant Field Values
-
-
Method Detail
-
doGet
protected StatsSource doGet(SolrQueryRequest req)
- Overrides:
doGetin classExactStatsCache
-
clear
public void clear()
Description copied from class:StatsCacheClear cached statistics.- Overrides:
clearin classStatsCache
-
init
public void init(PluginInfo info)
- Specified by:
initin interfacePluginInfoInitialized- Overrides:
initin classStatsCache
-
doRetrieveStatsRequest
protected ShardRequest doRetrieveStatsRequest(ResponseBuilder rb)
- Overrides:
doRetrieveStatsRequestin classExactStatsCache
-
addToGlobalTermStats
protected void addToGlobalTermStats(SolrQueryRequest req, Map.Entry<String,TermStats> e)
- Overrides:
addToGlobalTermStatsin classExactStatsCache
-
addToPerShardColStats
protected void addToPerShardColStats(SolrQueryRequest req, String shard, Map<String,CollectionStats> colStats)
- Overrides:
addToPerShardColStatsin classExactStatsCache
-
getPerShardColStats
protected Map<String,CollectionStats> getPerShardColStats(ResponseBuilder rb, String shard)
- Overrides:
getPerShardColStatsin classExactStatsCache
-
addToPerShardTermStats
protected void addToPerShardTermStats(SolrQueryRequest req, String shard, String termStatsString)
- Overrides:
addToPerShardTermStatsin classExactStatsCache
-
getPerShardTermStats
protected TermStats getPerShardTermStats(SolrQueryRequest req, String t, String shard)
- Overrides:
getPerShardTermStatsin classExactStatsCache
-
addToGlobalColStats
protected void addToGlobalColStats(SolrQueryRequest req, Map.Entry<String,CollectionStats> e)
- Overrides:
addToGlobalColStatsin classExactStatsCache
-
printStats
protected void printStats(SolrQueryRequest req)
- Overrides:
printStatsin classExactStatsCache
-
-