Class AbstractLinearCounting
java.lang.Object
org.elasticsearch.search.aggregations.metrics.AbstractLinearCounting
Linear counter, implemented based on pseudo code from
http://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/40671.pdf and its appendix
https://docs.google.com/document/d/1gyjfMHy43U9OWBXxfaeG-3MjGzejW1dlpyMwEYAAWEI/view?fullscreen
Trying to understand what this class does without having read the paper is considered adventurous.
The algorithm just keep a record of all distinct values provided encoded as an integer.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
Iterator over the hash values -
Field Summary
Modifier and TypeFieldDescriptionstatic int
static int
protected int
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract int
addEncoded(long bucketOrd, int encoded)
Add encoded value to the linear counting.long
cardinality(long bucketOrd)
Returns the current computed cardinalityint
collect(long bucketOrd, long hash)
int
Precision of the algorithmprotected abstract int
size(long bucketOrd)
number of values in the counter.protected abstract AbstractLinearCounting.HashesIterator
values(long bucketOrd)
return the current values in the counter.
-
Field Details
-
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
-
AbstractLinearCounting
public AbstractLinearCounting(int precision)
-
-
Method Details
-
addEncoded
protected abstract int addEncoded(long bucketOrd, int encoded)Add encoded value to the linear counting. Implementor should only accept the value if it has not been seen before. -
size
protected abstract int size(long bucketOrd)number of values in the counter. -
values
return the current values in the counter. -
collect
public int collect(long bucketOrd, long hash) -
cardinality
public long cardinality(long bucketOrd)Returns the current computed cardinality -
precision
public int precision()Precision of the algorithm
-