Package org.apache.lucene.search

## Class ConjunctionUtils

- java.lang.Object
- - org.apache.lucene.search.ConjunctionUtils

-     public final class ConjunctionUtils
      extends Object

  Helper methods for building conjunction iterators

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ConjunctionUtils()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | `addIterator​(DocIdSetIterator disi, List<DocIdSetIterator> allIterators, List<TwoPhaseIterator> twoPhaseIterators)` | Given a DocIdSetIterator, find any sub-iterators or two-phase iterators and add them to the provided DocIdSetIterator and TwoPhaseIterator lists
    `static void` | `addTwoPhaseIterator​(TwoPhaseIterator twoPhaseIter, List<DocIdSetIterator> allIterators, List<TwoPhaseIterator> twoPhaseIterators)` | Given a two-phase iterator, find any sub-iterators and add them to the provided DocIdSetIterator and TwoPhaseIterator lists
    `static DocIdSetIterator` | `createConjunction​(List<DocIdSetIterator> allIterators, List<TwoPhaseIterator> twoPhaseIterators)` | Create a conjunction over the provided set of DocIdSetIterators and TwoPhaseIterators, using two-phase iterator where possible.
    `static DocIdSetIterator` | `intersectIterators​(List<? extends DocIdSetIterator> iterators)` | Create a conjunction over the provided DocIdSetIterators.
    `static DocIdSetIterator` | `intersectScorers​(Collection<Scorer> scorers)` | Create a conjunction over the provided `Scorer`s.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ConjunctionUtils

          public ConjunctionUtils()

  - ### Method Detail

    - #### intersectScorers

          public static DocIdSetIterator intersectScorers​(Collection<Scorer> scorers)

      Create a conjunction over the provided `Scorer`s. Note that the returned `DocIdSetIterator` might leverage two-phase iteration in which case it is possible to retrieve the `TwoPhaseIterator` using `TwoPhaseIterator.unwrap(org.apache.lucene.search.DocIdSetIterator)`.

    - #### intersectIterators

          public static DocIdSetIterator intersectIterators​(List<? extends DocIdSetIterator> iterators)

      Create a conjunction over the provided DocIdSetIterators. Note that the returned `DocIdSetIterator` might leverage two-phase iteration in which case it is possible to retrieve the `TwoPhaseIterator` using `TwoPhaseIterator.unwrap(org.apache.lucene.search.DocIdSetIterator)`.

    - #### createConjunction

          public static DocIdSetIterator createConjunction​(List<DocIdSetIterator> allIterators,
                                                           List<TwoPhaseIterator> twoPhaseIterators)

      Create a conjunction over the provided set of DocIdSetIterators and TwoPhaseIterators, using two-phase iterator where possible. Note that the returned `DocIdSetIterator` might leverage two-phase iteration in which case it is possible to retrieve the `TwoPhaseIterator` using `TwoPhaseIterator.unwrap(org.apache.lucene.search.DocIdSetIterator)`.
      Parameters:
        `allIterators` - a list of DocIdSetIterators to combine
        `twoPhaseIterators` - a list of TwoPhaseIterators to combine

    - #### addTwoPhaseIterator

          public static void addTwoPhaseIterator​(TwoPhaseIterator twoPhaseIter,
                                                 List<DocIdSetIterator> allIterators,
                                                 List<TwoPhaseIterator> twoPhaseIterators)

      Given a two-phase iterator, find any sub-iterators and add them to the provided DocIdSetIterator and TwoPhaseIterator lists

    - #### addIterator

          public static void addIterator​(DocIdSetIterator disi,
                                         List<DocIdSetIterator> allIterators,
                                         List<TwoPhaseIterator> twoPhaseIterators)

      Given a DocIdSetIterator, find any sub-iterators or two-phase iterators and add them to the provided DocIdSetIterator and TwoPhaseIterator lists