|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.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.
| Field Summary | |
|---|---|
protected static DocIdSet |
EMPTY_DOCIDSET
An empty DocIdSet instance |
| Constructor Summary | |
|---|---|
CachingWrapperFilter(Filter filter)
Wraps another filter's result and caches it. |
|
| Method Summary | |
|---|---|
protected DocIdSet |
cacheImpl(DocIdSetIterator iterator,
AtomicReader reader)
Default cache implementation: uses WAH8DocIdSet. |
protected DocIdSet |
docIdSetToCache(DocIdSet docIdSet,
AtomicReader reader)
Provide the DocIdSet to be cached, using the DocIdSet provided by the wrapped Filter. |
boolean |
equals(Object o)
|
DocIdSet |
getDocIdSet(AtomicReaderContext context,
Bits acceptDocs)
Creates a DocIdSet enumerating the documents that should be
permitted in search results. |
Filter |
getFilter()
Gets the contained filter. |
int |
hashCode()
|
long |
sizeInBytes()
Returns total byte size used by cached filters. |
String |
toString()
|
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected static final DocIdSet EMPTY_DOCIDSET
DocIdSet instance
| Constructor Detail |
|---|
public CachingWrapperFilter(Filter filter)
filter - Filter to cache results of| Method Detail |
|---|
public Filter getFilter()
protected DocIdSet docIdSetToCache(DocIdSet docIdSet,
AtomicReader reader)
throws IOException
This implementation returns the given DocIdSet,
if DocIdSet.isCacheable() returns true, else it calls
cacheImpl(DocIdSetIterator,AtomicReader)
Note: This method returns EMPTY_DOCIDSET if the given docIdSet
is null or if DocIdSet.iterator() return null. The empty
instance is use as a placeholder in the cache instead of the null value.
IOException
protected DocIdSet cacheImpl(DocIdSetIterator iterator,
AtomicReader reader)
throws IOException
WAH8DocIdSet.
IOException
public DocIdSet getDocIdSet(AtomicReaderContext context,
Bits acceptDocs)
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 Filtercontext - a AtomicReaderContext instance opened on the index currently
searched on. Note, it is likely that the provided reader info 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.
The provided context is always an atomic context, so you can call
AtomicReader.fields()
on the context's reader, for example.acceptDocs - Bits that represent the allowable docs to match (typically deleted docs
but possibly filtering other documents)
null should be returned if
the filter doesn't accept any documents otherwise internal optimization might not apply
in the case an empty DocIdSet is returned.
IOExceptionpublic String toString()
toString in class Objectpublic boolean equals(Object o)
equals in class Objectpublic int hashCode()
hashCode in class Objectpublic long sizeInBytes()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||