Package org.apache.lucene.search
Class ChainedFilter
- java.lang.Object
-
- org.apache.lucene.search.Filter
-
- org.apache.lucene.search.ChainedFilter
-
- All Implemented Interfaces:
Serializable
public class ChainedFilter extends Filter
Allows multiple
Filter
s 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
-
-
Constructor Summary
Constructors Constructor Description ChainedFilter(Filter[] chain)
Ctor.ChainedFilter(Filter[] chain, int logic)
Ctor.ChainedFilter(Filter[] chain, int[] logicArray)
Ctor.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected DocIdSet
finalResult(OpenBitSetDISI result, int maxDocs)
Deprecated.Either use CachingWrapperFilter, or switch to a different DocIdSet implementation yourself.DocIdSet
getDocIdSet(IndexReader reader)
String
toString()
-
-
-
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 filterslogicArray
- Logical operations to apply between filters
-
ChainedFilter
public ChainedFilter(Filter[] chain, int logic)
Ctor.- Parameters:
chain
- The chain of filterslogic
- Logical operation to apply to ALL filters
-
-
Method Detail
-
getDocIdSet
public DocIdSet getDocIdSet(IndexReader reader) throws IOException
- Specified by:
getDocIdSet
in classFilter
- Parameters:
reader
- aIndexReader
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.0Provide a SortedVIntList when it is definitely smaller than an OpenBitSet
-
-