org.apache.lucene.search
Class ChainedFilter

java.lang.Object
  extended by org.apache.lucene.search.Filter
      extended by org.apache.lucene.search.ChainedFilter
All Implemented Interfaces:
Serializable

public class ChainedFilter
extends Filter

Allows multiple Filters to be chained. Logical operations such as NOT and XOR are applied between filters. One operation can be used for all filters, or a specific operation can be declared for each filter.

Order in which filters are called depends on the position of the filter in the chain. It's probably more efficient to place the most restrictive filters /least computationally-intensive filters first.

See Also:
Serialized Form

Field Summary
static int AND
           
static int ANDNOT
           
static int DEFAULT
          Logical operation when none is declared.
static int OR
           
static int XOR
           
 
Constructor Summary
ChainedFilter(Filter[] chain)
          Ctor.
ChainedFilter(Filter[] chain, int logic)
          Ctor.
ChainedFilter(Filter[] chain, int[] logicArray)
          Ctor.
 
Method Summary
protected  DocIdSet finalResult(OpenBitSetDISI result, int maxDocs)
          Deprecated. Either use CachingWrapperFilter, or switch to a different DocIdSet implementation yourself. This method will be removed in Lucene 4.0
 DocIdSet getDocIdSet(IndexReader reader)
          Filter.getDocIdSet(org.apache.lucene.index.IndexReader).
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

OR

public static final int OR
See Also:
Constant Field Values

AND

public static final int AND
See Also:
Constant Field Values

ANDNOT

public static final int ANDNOT
See Also:
Constant Field Values

XOR

public static final int XOR
See Also:
Constant Field Values

DEFAULT

public static int DEFAULT
Logical operation when none is declared. Defaults to OR.

Constructor Detail

ChainedFilter

public ChainedFilter(Filter[] chain)
Ctor.

Parameters:
chain - The chain of filters

ChainedFilter

public ChainedFilter(Filter[] chain,
                     int[] logicArray)
Ctor.

Parameters:
chain - The chain of filters
logicArray - Logical operations to apply between filters

ChainedFilter

public ChainedFilter(Filter[] chain,
                     int logic)
Ctor.

Parameters:
chain - The chain of filters
logic - Logical operation to apply to ALL filters
Method Detail

getDocIdSet

public DocIdSet getDocIdSet(IndexReader reader)
                     throws IOException
Filter.getDocIdSet(org.apache.lucene.index.IndexReader).

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

finalResult

@Deprecated
protected final DocIdSet finalResult(OpenBitSetDISI result,
                                                int maxDocs)
Deprecated. Either use CachingWrapperFilter, or switch to a different DocIdSet implementation yourself. This method will be removed in Lucene 4.0

Provide a SortedVIntList when it is definitely smaller than an OpenBitSet


toString

public String toString()
Overrides:
toString in class Object


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