public class CachingWrapperFilter extends Filter
NOTE: if you wrap this filter as a query (eg,
using ConstantScoreQuery), you'll likely want to enforce
deletions (using either CachingWrapperFilter.DeletesMode.RECACHE or
CachingWrapperFilter.DeletesMode.DYNAMIC).
| Modifier and Type | Class and Description |
|---|---|
static class |
CachingWrapperFilter.DeletesMode
Expert: Specifies how new deletions against a reopened
reader should be handled.
|
| Modifier and Type | Field and Description |
|---|---|
protected org.apache.lucene.search.CachingWrapperFilter.FilterCache<DocIdSet> |
cache |
| Constructor and Description |
|---|
CachingWrapperFilter(Filter filter)
New deletes are ignored by default, which gives higher
cache hit rate on reopened readers.
|
CachingWrapperFilter(Filter filter,
CachingWrapperFilter.DeletesMode deletesMode)
Expert: by default, the cached filter will be shared
across reopened segments that only had changes to their
deletions.
|
| Modifier and Type | Method and Description |
|---|---|
protected DocIdSet |
docIdSetToCache(DocIdSet docIdSet,
IndexReader reader)
Provide the DocIdSet to be cached, using the DocIdSet provided
by the wrapped Filter.
|
boolean |
equals(Object o) |
DocIdSet |
getDocIdSet(IndexReader reader)
Creates a
DocIdSet enumerating the documents that should be
permitted in search results. |
int |
hashCode() |
String |
toString() |
protected final org.apache.lucene.search.CachingWrapperFilter.FilterCache<DocIdSet> cache
public CachingWrapperFilter(Filter filter)
CachingWrapperFilter.DeletesMode.RECACHE or CachingWrapperFilter.DeletesMode.DYNAMIC.filter - Filter to cache results ofpublic CachingWrapperFilter(Filter filter, CachingWrapperFilter.DeletesMode deletesMode)
filter - Filter to cache results ofdeletesMode - See CachingWrapperFilter.DeletesModeprotected DocIdSet docIdSetToCache(DocIdSet docIdSet, IndexReader reader) throws IOException
This implementation returns the given DocIdSet, if DocIdSet.isCacheable()
returns true, else it copies the DocIdSetIterator into
an FixedBitSet.
IOExceptionpublic DocIdSet getDocIdSet(IndexReader reader) throws IOException
FilterDocIdSet enumerating the documents that should be
permitted in search results. NOTE: null can be
returned if no documents are accepted by this Filter.
Note: This method will be called once per segment in
the index during searching. The returned DocIdSet
must refer to document IDs for that segment, not for
the top-level reader.
getDocIdSet in class Filterreader - a IndexReader instance opened on the index currently
searched on. Note, it is likely that the provided reader does not
represent the whole underlying index i.e. if the index has more than
one segment the given reader only represents a single segment.IOExceptionDocIdBitSet