Example usage for org.apache.solr.search SolrCache clear

List of usage examples for org.apache.solr.search SolrCache clear

Introduction

In this page you can find the example usage for org.apache.solr.search SolrCache clear.

Prototype

public void clear();

Source Link

Document

:TODO: copy from Map

Usage

From source file:net.yacy.cora.federate.solr.connector.EmbeddedSolrConnector.java

License:Open Source License

@Override
public void clearCaches() {
    SolrConfig solrConfig = this.core.getSolrConfig();
    @SuppressWarnings("unchecked")
    SolrCache<String, ?> fieldValueCache = solrConfig.fieldValueCacheConfig == null ? null
            : solrConfig.fieldValueCacheConfig.newInstance();
    if (fieldValueCache != null)
        fieldValueCache.clear();
    @SuppressWarnings("unchecked")
    SolrCache<Query, DocSet> filterCache = solrConfig.filterCacheConfig == null ? null
            : solrConfig.filterCacheConfig.newInstance();
    if (filterCache != null)
        filterCache.clear();//w  w  w  .  java  2s  . com
    @SuppressWarnings("unchecked")
    SolrCache<QueryResultKey, DocList> queryResultCache = solrConfig.queryResultCacheConfig == null ? null
            : solrConfig.queryResultCacheConfig.newInstance();
    if (queryResultCache != null)
        queryResultCache.clear();
    @SuppressWarnings("unchecked")
    SolrCache<Integer, Document> documentCache = solrConfig.documentCacheConfig == null ? null
            : solrConfig.documentCacheConfig.newInstance();
    if (documentCache != null)
        documentCache.clear();
    for (SolrInfoMBean ib : this.core.getInfoRegistry().values()) {
        // clear 'lost' caches
        if (ib instanceof SolrCache)
            ((SolrCache<?, ?>) ib).clear();
    }
}

From source file:org.opencommercesearch.search.BoostCacheRegenerator.java

License:Apache License

public boolean regenerateItem(SolrIndexSearcher newSearcher, SolrCache newCache, SolrCache oldCache,
        Object oldKey, Object oldVal) throws IOException {
    long time = System.currentTimeMillis();

    if (time - loadTime > ttlMs) {
        log.info("Boost ttl exceeded, stopping regeneration");
        newCache.clear();
        loadTime = time;/* www  . j  a  v  a  2s  .c o  m*/
        return false;
    }
    newCache.put(oldKey, oldVal);
    return true;
}