|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.lucene.search.Filter org.apache.lucene.search.CachingWrapperFilter
public class CachingWrapperFilter
Wraps another filter's result and caches it. The purpose is to allow filters to simply filter, and then wrap with this class to add caching.
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
).
Nested Class Summary | |
---|---|
static class |
CachingWrapperFilter.DeletesMode
Expert: Specifies how new deletions against a reopened reader should be handled. |
Field Summary | |
---|---|
protected org.apache.lucene.search.CachingWrapperFilter.FilterCache<DocIdSet> |
cache
|
Constructor Summary | |
---|---|
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. |
Method Summary | |
---|---|
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()
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected final org.apache.lucene.search.CachingWrapperFilter.FilterCache<DocIdSet> cache
Constructor Detail |
---|
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.DeletesMode
Method Detail |
---|
protected 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 OpenBitSetDISI
.
IOException
public DocIdSet getDocIdSet(IndexReader reader) throws IOException
Filter
DocIdSet
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 Filter
reader
- 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.
IOException
DocIdBitSet
public String toString()
toString
in class Object
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |