Class AbstractHyperLogLogPlusPlus
java.lang.Object
org.elasticsearch.search.aggregations.metrics.AbstractHyperLogLogPlusPlus
- All Implemented Interfaces:
Closeable
,AutoCloseable
,org.elasticsearch.core.Releasable
- Direct Known Subclasses:
HyperLogLogPlusPlus
public abstract class AbstractHyperLogLogPlusPlus
extends Object
implements org.elasticsearch.core.Releasable
Base class for HLL++ algorithms.
It contains methods for cloning and serializing the data structure.
-
Field Summary
Modifier and TypeFieldDescriptionstatic boolean
static boolean
static int
static int
protected int
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract long
cardinality(long bucketOrd)
Returns the current computed cardinalityClone the data structure at the given bucketabstract void
collect(long bucketOrd, long hash)
Collect a value in the given bucketboolean
equals(long thisBucket, AbstractHyperLogLogPlusPlus other, long otherBucket)
protected abstract boolean
getAlgorithm(long bucketOrd)
Algorithm used in the given bucketprotected abstract AbstractHyperLogLog.RunLenIterator
getHyperLogLog(long bucketOrd)
Get HyperLogLog algorithmprotected abstract AbstractLinearCounting.HashesIterator
getLinearCounting(long bucketOrd)
Get linear counting algorithmint
hashCode(long bucket)
abstract long
maxOrd()
Get the number of data structuresint
Precision of the algorithmstatic AbstractHyperLogLogPlusPlus
readFrom(StreamInput in, BigArrays bigArrays)
void
writeTo(long bucket, StreamOutput out)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.elasticsearch.core.Releasable
close
-
Field Details
-
LINEAR_COUNTING
public static final boolean LINEAR_COUNTING- See Also:
- Constant Field Values
-
HYPERLOGLOG
public static final boolean HYPERLOGLOG- See Also:
- Constant Field Values
-
MIN_PRECISION
public static final int MIN_PRECISION- See Also:
- Constant Field Values
-
MAX_PRECISION
public static final int MAX_PRECISION- See Also:
- Constant Field Values
-
p
protected final int p
-
-
Constructor Details
-
AbstractHyperLogLogPlusPlus
public AbstractHyperLogLogPlusPlus(int precision)
-
-
Method Details
-
getAlgorithm
protected abstract boolean getAlgorithm(long bucketOrd)Algorithm used in the given bucket -
getLinearCounting
Get linear counting algorithm -
getHyperLogLog
Get HyperLogLog algorithm -
maxOrd
public abstract long maxOrd()Get the number of data structures -
collect
public abstract void collect(long bucketOrd, long hash)Collect a value in the given bucket -
clone
Clone the data structure at the given bucket -
writeTo
- Throws:
IOException
-
readFrom
public static AbstractHyperLogLogPlusPlus readFrom(StreamInput in, BigArrays bigArrays) throws IOException- Throws:
IOException
-
equals
-
hashCode
public int hashCode(long bucket) -
precision
public int precision()Precision of the algorithm -
cardinality
public abstract long cardinality(long bucketOrd)Returns the current computed cardinality
-