org.apache.lucene.search
Class FilteredQuery

java.lang.Object
  extended by org.apache.lucene.search.Query
      extended by org.apache.lucene.search.FilteredQuery
All Implemented Interfaces:
Serializable, Cloneable

public class FilteredQuery
extends Query

A query that applies a filter to the results of another query.

Note: the bits are retrieved from the filter each time this query is used in a search - use a CachingWrapperFilter to avoid regenerating the bits every time.

Created: Apr 20, 2004 8:58:29 AM

Since:
1.4
See Also:
CachingWrapperFilter, Serialized Form

Constructor Summary
FilteredQuery(Query query, Filter filter)
          Constructs a new query which applies a filter to the results of the original query.
 
Method Summary
 Weight createWeight(Searcher searcher)
          Returns a Weight that applies the filter to the enclosed query's Weight.
 boolean equals(Object o)
          Returns true iff o is equal to this.
 void extractTerms(Set<Term> terms)
          Expert: adds all terms occurring in this query to the terms set.
 Filter getFilter()
           
 Query getQuery()
           
 int hashCode()
          Returns a hash code value for this object.
 Query rewrite(IndexReader reader)
          Rewrites the wrapped query.
 String toString(String s)
          Prints a user-readable version of this query.
 
Methods inherited from class org.apache.lucene.search.Query
clone, combine, getBoost, getSimilarity, mergeBooleanQueries, setBoost, toString, weight
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FilteredQuery

public FilteredQuery(Query query,
                     Filter filter)
Constructs a new query which applies a filter to the results of the original query. Filter.getDocIdSet() will be called every time this query is used in a search.

Parameters:
query - Query to be filtered, cannot be null.
filter - Filter to apply to query results, cannot be null.
Method Detail

createWeight

public Weight createWeight(Searcher searcher)
                    throws IOException
Returns a Weight that applies the filter to the enclosed query's Weight. This is accomplished by overriding the Scorer returned by the Weight.

Overrides:
createWeight in class Query
Throws:
IOException

rewrite

public Query rewrite(IndexReader reader)
              throws IOException
Rewrites the wrapped query.

Overrides:
rewrite in class Query
Throws:
IOException

getQuery

public Query getQuery()

getFilter

public Filter getFilter()

extractTerms

public void extractTerms(Set<Term> terms)
Description copied from class: Query
Expert: adds all terms occurring in this query to the terms set. Only works if this query is in its rewritten form.

Overrides:
extractTerms in class Query

toString

public String toString(String s)
Prints a user-readable version of this query.

Specified by:
toString in class Query

equals

public boolean equals(Object o)
Returns true iff o is equal to this.

Overrides:
equals in class Query

hashCode

public int hashCode()
Returns a hash code value for this object.

Overrides:
hashCode in class Query


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