Class ChainedFilter

  • All Implemented Interfaces:
    Serializable

    public class ChainedFilter
    extends org.apache.lucene.search.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

      Fields 
      Modifier and Type Field Description
      static int AND  
      static int ANDNOT  
      static int DEFAULT
      Logical operation when none is declared.
      static int OR  
      static int XOR  
    • Constructor Summary

      Constructors 
      Constructor Description
      ChainedFilter​(org.apache.lucene.search.Filter[] chain)
      Ctor.
      ChainedFilter​(org.apache.lucene.search.Filter[] chain, int logic)
      Ctor.
      ChainedFilter​(org.apache.lucene.search.Filter[] chain, int[] logicArray)
      Ctor.
    • Constructor Detail

      • ChainedFilter

        public ChainedFilter​(org.apache.lucene.search.Filter[] chain)
        Ctor.
        Parameters:
        chain - The chain of filters
      • ChainedFilter

        public ChainedFilter​(org.apache.lucene.search.Filter[] chain,
                             int[] logicArray)
        Ctor.
        Parameters:
        chain - The chain of filters
        logicArray - Logical operations to apply between filters
      • ChainedFilter

        public ChainedFilter​(org.apache.lucene.search.Filter[] chain,
                             int logic)
        Ctor.
        Parameters:
        chain - The chain of filters
        logic - Logical operation to apply to ALL filters
    • Method Detail

      • getDocIdSet

        public org.apache.lucene.search.DocIdSet getDocIdSet​(org.apache.lucene.index.IndexReader reader)
                                                      throws IOException
        Filter.getDocIdSet(org.apache.lucene.index.IndexReader).
        Specified by:
        getDocIdSet in class org.apache.lucene.search.Filter
        Throws:
        IOException
      • finalResult

        @Deprecated
        protected final org.apache.lucene.search.DocIdSet finalResult​(org.apache.lucene.util.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