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`