Class BitsetFilterCache

java.lang.Object
org.elasticsearch.index.AbstractIndexComponent
org.elasticsearch.index.cache.bitset.BitsetFilterCache
All Implemented Interfaces:
Closeable, 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>>, Closeable
This is a cache for BitDocIdSet 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 the QueryCache should be used instead.

  • Field Details

    • INDEX_LOAD_RANDOM_ACCESS_FILTERS_EAGERLY_SETTING

      public static final Setting<Boolean> INDEX_LOAD_RANDOM_ACCESS_FILTERS_EAGERLY_SETTING
  • Constructor Details

  • Method Details

    • bitsetFromQuery

      public static org.apache.lucene.util.BitSet bitsetFromQuery(org.apache.lucene.search.Query query, org.apache.lucene.index.LeafReaderContext context) throws IOException
      Throws:
      IOException
    • 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 interface org.apache.lucene.index.IndexReader.ClosedListener
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • clear

      public void clear(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 interface RemovalListener<org.apache.lucene.index.IndexReader.CacheKey,Cache<org.apache.lucene.search.Query,BitsetFilterCache.Value>>