protected TermQueryCache getCache(final SolrIndexSearcher searcher) { final String cacheName = (String) getArgs().get(CONF_CACHE_NAME); if (cacheName == null) { throw new RuntimeException("Missing configuration property: " + CONF_CACHE_NAME); } @SuppressWarnings("unchecked") final SolrCache<CacheKey, TermQueryCacheValue> solrCache = searcher.getCache(cacheName); if (solrCache == null) { throw new RuntimeException("No TermQueryCache for name '" + cacheName + "'"); } return new SolrTermQueryCacheAdapter(false, solrCache); }
@Override public final QParser createParser(final String qstr, final SolrParams localParams, final SolrParams params, SolrQueryRequest req) { if (termQueryCacheName == null) { return createParser(qstr, localParams, params, req, null); } else { @SuppressWarnings("unchecked") final SolrCache<CacheKey, TermQueryCacheValue> solrCache = req.getSearcher().getCache(termQueryCacheName); if (solrCache == null) { logger.warn("Missing Solr cache {}", termQueryCacheName); return createParser(qstr, localParams, params, req, null); } else { return createParser(qstr, localParams, params, req, new SolrTermQueryCacheAdapter(ignoreTermQueryCacheUpdates, solrCache)); } } }