org.apache.lucene.search
Class MultiTermQueryWrapperFilter<Q extends MultiTermQuery>

java.lang.Object
  extended by org.apache.lucene.search.Filter
      extended by org.apache.lucene.search.MultiTermQueryWrapperFilter<Q>
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
NumericRangeFilter, PrefixFilter, TermRangeFilter

public class MultiTermQueryWrapperFilter<Q extends MultiTermQuery>
extends Filter

A wrapper for MultiTermQuery, that exposes its functionality as a Filter.

MultiTermQueryWrapperFilter is not designed to be used by itself. Normally you subclass it to provide a Filter counterpart for a MultiTermQuery subclass.

For example, TermRangeFilter and PrefixFilter extend MultiTermQueryWrapperFilter. This class also provides the functionality behind MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE; this is why it is not abstract.

See Also:
Serialized Form

Field Summary
protected  Q query
           
 
Constructor Summary
protected MultiTermQueryWrapperFilter(Q query)
          Wrap a MultiTermQuery as a Filter.
 
Method Summary
 void clearTotalNumberOfTerms()
          Expert: Resets the counting of unique terms.
 boolean equals(Object o)
           
 DocIdSet getDocIdSet(IndexReader reader)
          Returns a DocIdSet with documents that should be permitted in search results.
 int getTotalNumberOfTerms()
          Expert: Return the number of unique terms visited during execution of the filter.
 int hashCode()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

query

protected final Q extends MultiTermQuery query
Constructor Detail

MultiTermQueryWrapperFilter

protected MultiTermQueryWrapperFilter(Q query)
Wrap a MultiTermQuery as a Filter.

Method Detail

toString

public String toString()
Overrides:
toString in class Object

equals

public final boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public final int hashCode()
Overrides:
hashCode in class Object

getTotalNumberOfTerms

public int getTotalNumberOfTerms()
Expert: Return the number of unique terms visited during execution of the filter. If there are many of them, you may consider using another filter type or optimize your total term count in index.

This method is not thread safe, be sure to only call it when no filter is running! If you re-use the same filter instance for another search, be sure to first reset the term counter with clearTotalNumberOfTerms().

See Also:
clearTotalNumberOfTerms()

clearTotalNumberOfTerms

public void clearTotalNumberOfTerms()
Expert: Resets the counting of unique terms. Do this before executing the filter.

See Also:
getTotalNumberOfTerms()

getDocIdSet

public DocIdSet getDocIdSet(IndexReader reader)
                     throws IOException
Returns a DocIdSet with documents that should be permitted in search results.

Specified by:
getDocIdSet in class Filter
Parameters:
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.
Returns:
a DocIdSet that provides the documents which should be permitted or prohibited in search results. NOTE: null can be returned if no documents will be accepted by this Filter.
Throws:
IOException
See Also:
DocIdBitSet


Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.