Class MultiTermQueryWrapperFilter<Q extends MultiTermQuery>

  extended by
      extended by<Q>
All Implemented Interfaces:
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


protected final Q extends MultiTermQuery query
Constructor Detail


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

Method Detail


public String toString()
toString in class Object


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


public final int hashCode()
hashCode in class Object


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:


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

See Also:


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
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.
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.
See Also:

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