Package org.apache.lucene.search

# Interface QueryCachingPolicy

All Known Implementing Classes:
  `UsageTrackingQueryCachingPolicy`

public interface QueryCachingPolicy
A policy defining which filters should be cached.

Implementations of this class must be thread-safe.

See Also:
  - `UsageTrackingQueryCachingPolicy`
  - `LRUQueryCache`
WARNING: This API is experimental and might change in incompatible ways in the next release.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `onUse(Query query)`
  Callback that is called every time that a cached filter is used.
  `boolean`
  `shouldCache(Query query)`
  Whether the given `Query` is worth caching.

- ## Method Details

  - ### onUse

    void onUse(Query query)
    Callback that is called every time that a cached filter is used. This is typically useful if the policy wants to track usage statistics in order to make decisions.

  - ### shouldCache

    boolean shouldCache(Query query) throws IOException
    Whether the given `Query` is worth caching. This method will be called by the `QueryCache` to know whether to cache. It will first attempt to load a `DocIdSet` from the cache. If it is not cached yet and this method returns `true` then a cache entry will be generated. Otherwise an uncached scorer will be returned.
    Throws:
      `IOException`