Class RoaringDocIdSet

  • All Implemented Interfaces:
    Accountable

    public class RoaringDocIdSet
    extends DocIdSet
    DocIdSet implementation inspired from http://roaringbitmap.org/

    The space is divided into blocks of 2^16 bits and each block is encoded independently. In each block, if less than 2^12 bits are set, then documents are simply stored in a short[]. If more than 2^16-2^12 bits are set, then the inverse of the set is encoded in a simple short[]. Otherwise a FixedBitSet is used.

    NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
    • Method Detail

      • ramBytesUsed

        public long ramBytesUsed()
        Description copied from interface: Accountable
        Return the memory usage of this object in bytes. Negative values are illegal.
      • cardinality

        public int cardinality()
        Return the exact number of documents that are contained in this set.