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(java.lang.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 java.io.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:
 java.io.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
 
- 
equals
public boolean equals(java.lang.Object other)
- Overrides:
 equalsin classjava.lang.Object
 
- 
hashCode
public int hashCode()
- Overrides:
 hashCodein classjava.lang.Object
 
 - 
 
 -