org.apache.lucene.search

## Class DocValuesDocIdSet

- java.lang.Object
- - org.apache.lucene.search.DocIdSet
  - - org.apache.lucene.search.DocValuesDocIdSet

- All Implemented Interfaces:
    Accountable

      public abstract class DocValuesDocIdSet
      extends DocIdSet

  Base class for DocIdSet to be used with DocValues. The implementation of its iterator is very stupid and slow if the implementation of the `matchDoc(int)` method is not optimized, as iterators simply increment the document id until `matchDoc(int)` returns true. Because of this `matchDoc(int)` must be as fast as possible.
  NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Bits` | `acceptDocs`
    `protected int` | `maxDoc`

    - ### Fields inherited from class org.apache.lucene.search.DocIdSet

      `EMPTY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DocValuesDocIdSet(int maxDoc, Bits acceptDocs)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Bits` | `bits()` Optionally provides a `Bits` interface for random access to matching documents.
    `DocIdSetIterator` | `iterator()` Provides a `DocIdSetIterator` to access the set.
    `protected abstract boolean` | `matchDoc(int doc)` this method checks, if a doc is a hit
    `long` | `ramBytesUsed()` Return the memory usage of this object in bytes.

    - ### Methods inherited from class org.apache.lucene.search.DocIdSet

      `getChildResources, isCacheable`

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

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

- - ### Field Detail

    - #### maxDoc

          protected final int maxDoc

    - #### acceptDocs

          protected final Bits acceptDocs

  - ### Constructor Detail

    - #### DocValuesDocIdSet

          public DocValuesDocIdSet(int maxDoc,
                           Bits acceptDocs)

  - ### Method Detail

    - #### matchDoc

          protected abstract boolean matchDoc(int doc)

      this method checks, if a doc is a hit

    - #### ramBytesUsed

          public long ramBytesUsed()

      Description copied from interface: `Accountable`
      Return the memory usage of this object in bytes. Negative values are illegal.

    - #### bits

          public final Bits bits()

      Description copied from class: `DocIdSet`
      Optionally provides a `Bits` interface for random access to matching documents.
      Overrides:
        `bits` in class `DocIdSet`
      Returns:
        `null`, if this `DocIdSet` does not support random access. In contrast to `DocIdSet.iterator()`, a return value of `null` does not imply that no documents match the filter! The default implementation does not provide random access, so you only need to implement this method if your DocIdSet can guarantee random access to every docid in O(1) time without external disk access (as `Bits` interface cannot throw `IOException`). This is generally true for bit sets like `FixedBitSet`, which return itself if they are used as `DocIdSet`.

    - #### iterator

          public final DocIdSetIterator iterator()
                                          throws IOException

      Description copied from class: `DocIdSet`
      Provides a `DocIdSetIterator` to access the set. This implementation can return `null` if there are no docs that match.
      Specified by:
        `iterator` in class `DocIdSet`
      Throws:
        `IOException`

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