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, and based on surface features of a query it determines the need to send additional RPC-s. As a result the additional RPC-s are needed much less frequently.Query terms and their stats are maintained in a set of maps. At the query front-end there will be as many maps as there are shards, each maintaining the respective shard statistics. At each shard server there is a single map that is updated with the global statistics on every request.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.solr.search.stats.ExactStatsCache
ExactStatsCache.ExactStatsSource
-
-
Field Summary
-
Fields inherited from class org.apache.solr.search.stats.StatsCache
COL_STATS_KEY, 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)StatsSourceget(SolrQueryRequest req)Prepare localStatsSourceto provide stats information to perform local scoring (to be precise, to build a localWeightfrom the query).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
mergeToGlobalStats, receiveGlobalStats, retrieveStatsRequest, returnLocalStats, sendGlobalStats
-
-
-
-
Method Detail
-
get
public StatsSource get(SolrQueryRequest req)
Description copied from class:StatsCachePrepare localStatsSourceto provide stats information to perform local scoring (to be precise, to build a localWeightfrom the query).- Overrides:
getin classExactStatsCache- Parameters:
req- query request- Returns:
- an instance of
StatsSourceto use in creating a queryWeight
-
init
public void init(PluginInfo info)
- Specified by:
initin interfacePluginInfoInitialized- Overrides:
initin 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
-
-