Class BitsetFilterCache
- java.lang.Object
-
- org.elasticsearch.index.AbstractIndexComponent
-
- org.elasticsearch.index.cache.bitset.BitsetFilterCache
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,org.apache.lucene.index.IndexReader.ClosedListener
,RemovalListener<org.apache.lucene.index.IndexReader.CacheKey,Cache<org.apache.lucene.search.Query,BitsetFilterCache.Value>>
,IndexComponent
public final class BitsetFilterCache extends AbstractIndexComponent implements org.apache.lucene.index.IndexReader.ClosedListener, RemovalListener<org.apache.lucene.index.IndexReader.CacheKey,Cache<org.apache.lucene.search.Query,BitsetFilterCache.Value>>, java.io.Closeable
This is a cache forBitDocIdSet
based filters and is unbounded by size or time.Use this cache with care, only components that require that a filter is to be materialized as a
BitDocIdSet
and require that it should always be around should use this cache, otherwise theQueryCache
should be used instead.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
BitsetFilterCache.Listener
A listener interface that is executed for each onCache / onRemoval eventstatic class
BitsetFilterCache.Value
-
Field Summary
Fields Modifier and Type Field Description static Setting<java.lang.Boolean>
INDEX_LOAD_RANDOM_ACCESS_FILTERS_EAGERLY_SETTING
-
Fields inherited from class org.elasticsearch.index.AbstractIndexComponent
deprecationLogger, indexSettings, logger
-
-
Constructor Summary
Constructors Constructor Description BitsetFilterCache(IndexSettings indexSettings, BitsetFilterCache.Listener listener)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear(java.lang.String reason)
void
close()
IndexWarmer.Listener
createListener(ThreadPool threadPool)
org.apache.lucene.search.join.BitSetProducer
getBitSetProducer(org.apache.lucene.search.Query query)
void
onClose(org.apache.lucene.index.IndexReader.CacheKey ownerCoreCacheKey)
void
onRemoval(RemovalNotification<org.apache.lucene.index.IndexReader.CacheKey,Cache<org.apache.lucene.search.Query,BitsetFilterCache.Value>> notification)
-
Methods inherited from class org.elasticsearch.index.AbstractIndexComponent
getIndexSettings, index
-
-
-
-
Field Detail
-
INDEX_LOAD_RANDOM_ACCESS_FILTERS_EAGERLY_SETTING
public static final Setting<java.lang.Boolean> INDEX_LOAD_RANDOM_ACCESS_FILTERS_EAGERLY_SETTING
-
-
Constructor Detail
-
BitsetFilterCache
public BitsetFilterCache(IndexSettings indexSettings, BitsetFilterCache.Listener listener)
-
-
Method Detail
-
createListener
public IndexWarmer.Listener createListener(ThreadPool threadPool)
-
getBitSetProducer
public org.apache.lucene.search.join.BitSetProducer getBitSetProducer(org.apache.lucene.search.Query query)
-
onClose
public void onClose(org.apache.lucene.index.IndexReader.CacheKey ownerCoreCacheKey)
- Specified by:
onClose
in interfaceorg.apache.lucene.index.IndexReader.ClosedListener
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
-
clear
public void clear(java.lang.String reason)
-
onRemoval
public void onRemoval(RemovalNotification<org.apache.lucene.index.IndexReader.CacheKey,Cache<org.apache.lucene.search.Query,BitsetFilterCache.Value>> notification)
- Specified by:
onRemoval
in interfaceRemovalListener<org.apache.lucene.index.IndexReader.CacheKey,Cache<org.apache.lucene.search.Query,BitsetFilterCache.Value>>
-
-