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 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<java.lang.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 java.io.IOException
      Throws:
      java.io.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 java.lang.AutoCloseable
      Specified by:
      close in interface java.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 interface RemovalListener<org.apache.lucene.index.IndexReader.CacheKey,​Cache<org.apache.lucene.search.Query,​BitsetFilterCache.Value>>