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
Nested ClassesModifier and TypeClassDescriptionstatic interfaceIterator over the hash values -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic intstatic intprotected int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract intaddEncoded(long bucketOrd, int encoded)Add encoded value to the linear counting.longcardinality(long bucketOrd)Returns the current computed cardinalityintcollect(long bucketOrd, long hash)intPrecision of the algorithmprotected abstract intsize(long bucketOrd)number of values in the counter.protected abstract AbstractLinearCounting.HashesIteratorvalues(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
-