Package org.apache.lucene.util.packed
Class EliasFanoDocIdSet
- java.lang.Object
-
- org.apache.lucene.search.DocIdSet
-
- org.apache.lucene.util.packed.EliasFanoDocIdSet
-
public class EliasFanoDocIdSet extends DocIdSet
A DocIdSet in Elias-Fano encoding.
-
-
Constructor Summary
Constructors Constructor Description EliasFanoDocIdSet(int numValues, int upperBound)Construct an EliasFanoDocIdSet.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidencodeFromDisi(DocIdSetIterator disi)Encode the document ids from a DocIdSetIterator.booleanequals(Object other)inthashCode()booleanisCacheable()This DocIdSet implementation is cacheable.DocIdSetIteratoriterator()Provides aDocIdSetIteratorto access encoded document ids.static booleansufficientlySmallerThanBitSet(long numValues, long upperBound)Provide an indication that is better to use anEliasFanoDocIdSetthan aFixedBitSetto encode document identifiers.
-
-
-
Constructor Detail
-
EliasFanoDocIdSet
public EliasFanoDocIdSet(int numValues, int upperBound)Construct an EliasFanoDocIdSet. For efficient encoding, the parameters should be chosen as low as possible.- Parameters:
numValues- At least the number of document ids that will be encoded.upperBound- At least the highest document id that will be encoded.
-
-
Method Detail
-
sufficientlySmallerThanBitSet
public static boolean sufficientlySmallerThanBitSet(long numValues, long upperBound)Provide an indication that is better to use anEliasFanoDocIdSetthan aFixedBitSetto encode document identifiers.- Parameters:
numValues- The number of document identifiers that is to be encoded. Should be non negative.upperBound- The maximum possible value for a document identifier. Should be at leastnumValues.- Returns:
- See
EliasFanoEncoder.sufficientlySmallerThanBitSet(long, long)
-
encodeFromDisi
public void encodeFromDisi(DocIdSetIterator disi) throws IOException
Encode the document ids from a DocIdSetIterator.- Parameters:
disi- This DocIdSetIterator should provide document ids that are consistent withnumValuesandupperBoundas provided to the constructor.- Throws:
IOException
-
iterator
public DocIdSetIterator iterator()
Provides aDocIdSetIteratorto access encoded document ids.
-
isCacheable
public boolean isCacheable()
This DocIdSet implementation is cacheable.- Overrides:
isCacheablein classDocIdSet- Returns:
true
-
-