Source code for pandagg.node.aggs.metric

from typing import Any, List

from pandagg.node.types import NUMERIC_TYPES
from pandagg.node.aggs.abstract import FieldOrScriptMetricAgg, MetricAgg


[docs]class TopHits(MetricAgg): VALUE_ATTRS = ["hits"] KEY = "top_hits"
[docs]class Avg(FieldOrScriptMetricAgg): WHITELISTED_MAPPING_TYPES = NUMERIC_TYPES VALUE_ATTRS = ["value"] KEY = "avg"
[docs]class Sum(FieldOrScriptMetricAgg): WHITELISTED_MAPPING_TYPES = NUMERIC_TYPES VALUE_ATTRS = ["value"] KEY = "sum"
[docs]class Max(FieldOrScriptMetricAgg): WHITELISTED_MAPPING_TYPES = NUMERIC_TYPES VALUE_ATTRS = ["value"] KEY = "max"
[docs]class Min(FieldOrScriptMetricAgg): WHITELISTED_MAPPING_TYPES = NUMERIC_TYPES VALUE_ATTRS = ["value"] KEY = "min"
[docs]class Cardinality(FieldOrScriptMetricAgg): VALUE_ATTRS = ["value"] KEY = "cardinality"
[docs]class Stats(FieldOrScriptMetricAgg): WHITELISTED_MAPPING_TYPES = NUMERIC_TYPES VALUE_ATTRS = ["count", "min", "max", "avg", "sum"] KEY = "stats"
[docs]class ExtendedStats(FieldOrScriptMetricAgg): WHITELISTED_MAPPING_TYPES = NUMERIC_TYPES VALUE_ATTRS = [ "count", "min", "max", "avg", "sum", "sum_of_squares", "variance", "std_deviation", "std_deviation_bounds", ] KEY = "extended_stats"
[docs]class GeoBound(FieldOrScriptMetricAgg): WHITELISTED_MAPPING_TYPES = ["geo_point"] VALUE_ATTRS = ["bounds"] KEY = "geo_bounds"
[docs]class GeoCentroid(FieldOrScriptMetricAgg): WHITELISTED_MAPPING_TYPES = ["geo_point"] VALUE_ATTRS = ["location"] KEY = "geo_centroid"
[docs]class Percentiles(FieldOrScriptMetricAgg): """Percents body argument can be passed to specify which percentiles to fetch.""" WHITELISTED_MAPPING_TYPES = NUMERIC_TYPES VALUE_ATTRS = ["values"] KEY = "percentiles"
[docs]class PercentileRanks(FieldOrScriptMetricAgg): WHITELISTED_MAPPING_TYPES = NUMERIC_TYPES VALUE_ATTRS = ["values"] KEY = "percentile_ranks" def __init__(self, field: str, values: List[float], **body: Any) -> None: super(PercentileRanks, self).__init__(field=field, values=values, **body)
[docs]class ValueCount(FieldOrScriptMetricAgg): VALUE_ATTRS = ["value"] KEY = "value_count"