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
Version:
$Id: FilteredQuery.java 544254 2007-06-04 20:41:06Z doronc $
Author:
Tim Jones
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
protected  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 terms)
          Expert: adds all terms occuring 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.bits() 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

protected 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 terms)
Description copied from class: Query
Expert: adds all terms occuring 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 Object

hashCode

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

Overrides:
hashCode in class Object


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