mirror of https://github.com/apache/lucene.git
SOLR-8995: Use lambdas for CacheRegenerator implementations
This commit is contained in:
parent
4bd7d7fadb
commit
8412af5513
|
@ -38,5 +38,5 @@ public interface CacheRegenerator {
|
|||
* @param oldVal the old value of the cache item
|
||||
* @return true to continue with autowarming, false to stop
|
||||
*/
|
||||
public boolean regenerateItem(SolrIndexSearcher newSearcher, SolrCache newCache, SolrCache oldCache, Object oldKey, Object oldVal) throws IOException;
|
||||
boolean regenerateItem(SolrIndexSearcher newSearcher, SolrCache newCache, SolrCache oldCache, Object oldKey, Object oldVal) throws IOException;
|
||||
}
|
||||
|
|
|
@ -529,35 +529,24 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
|
|||
//
|
||||
public static void initRegenerators(SolrConfig solrConfig) {
|
||||
if (solrConfig.fieldValueCacheConfig != null && solrConfig.fieldValueCacheConfig.getRegenerator() == null) {
|
||||
solrConfig.fieldValueCacheConfig.setRegenerator(new CacheRegenerator() {
|
||||
@Override
|
||||
public boolean regenerateItem(SolrIndexSearcher newSearcher, SolrCache newCache, SolrCache oldCache,
|
||||
Object oldKey, Object oldVal) throws IOException {
|
||||
solrConfig.fieldValueCacheConfig.setRegenerator((newSearcher, newCache, oldCache, oldKey, oldVal) -> {
|
||||
if (oldVal instanceof UnInvertedField) {
|
||||
UnInvertedField.getUnInvertedField((String) oldKey, newSearcher);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (solrConfig.filterCacheConfig != null && solrConfig.filterCacheConfig.getRegenerator() == null) {
|
||||
solrConfig.filterCacheConfig.setRegenerator(new CacheRegenerator() {
|
||||
@Override
|
||||
public boolean regenerateItem(SolrIndexSearcher newSearcher, SolrCache newCache, SolrCache oldCache,
|
||||
Object oldKey, Object oldVal) throws IOException {
|
||||
solrConfig.filterCacheConfig.setRegenerator((newSearcher, newCache, oldCache, oldKey, oldVal) -> {
|
||||
newSearcher.cacheDocSet((Query) oldKey, null, false);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (solrConfig.queryResultCacheConfig != null && solrConfig.queryResultCacheConfig.getRegenerator() == null) {
|
||||
final int queryResultWindowSize = solrConfig.queryResultWindowSize;
|
||||
solrConfig.queryResultCacheConfig.setRegenerator(new CacheRegenerator() {
|
||||
@Override
|
||||
public boolean regenerateItem(SolrIndexSearcher newSearcher, SolrCache newCache, SolrCache oldCache,
|
||||
Object oldKey, Object oldVal) throws IOException {
|
||||
solrConfig.queryResultCacheConfig.setRegenerator((newSearcher, newCache, oldCache, oldKey, oldVal) -> {
|
||||
QueryResultKey key = (QueryResultKey) oldKey;
|
||||
int nDocs = 1;
|
||||
// request 1 doc and let caching round up to the next window size...
|
||||
|
@ -584,7 +573,6 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
|
|||
QueryResult qr = new QueryResult();
|
||||
newSearcher.getDocListC(qr, qc);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue