org.apache.lucene.search
Class QueryWrapperFilter

java.lang.Object
  extended by org.apache.lucene.search.Filter
      extended by org.apache.lucene.search.QueryWrapperFilter

public class QueryWrapperFilter
extends Filter

Constrains search results to only match those which also match a provided query.

This could be used, for example, with a NumericRangeQuery on a suitably formatted date field to implement date filtering. One could re-use a single CachingWrapperFilter(QueryWrapperFilter) that matches, e.g., only documents modified within the last week. This would only need to be reconstructed once per day.


Constructor Summary
QueryWrapperFilter(Query query)
          Constructs a filter which only matches documents matching query.
 
Method Summary
 boolean equals(Object o)
           
 DocIdSet getDocIdSet(AtomicReaderContext context, Bits acceptDocs)
          Creates a DocIdSet enumerating the documents that should be permitted in search results.
 Query getQuery()
          returns the inner Query
 int hashCode()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

QueryWrapperFilter

public QueryWrapperFilter(Query query)
Constructs a filter which only matches documents matching query.

Method Detail

getQuery

public final Query getQuery()
returns the inner Query


getDocIdSet

public DocIdSet getDocIdSet(AtomicReaderContext context,
                            Bits acceptDocs)
                     throws IOException
Description copied from class: Filter
Creates a DocIdSet 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.

Specified by:
getDocIdSet in class Filter
Parameters:
context - 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)
Returns:
a DocIdSet that provides the documents which should be permitted or prohibited in search results. NOTE: 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.
Throws:
IOException

toString

public String toString()
Overrides:
toString in class Object

equals

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

hashCode

public int hashCode()
Overrides:
hashCode in class Object


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