Interface SearchAggregationFactory

    • Method Detail

      • range

        RangeAggregationFieldStep<?> range()
        Perform aggregation in range buckets.

        Given a field and one or more ranges of values, this aggregation creates one bucket per range, and puts in each bucket every document for which the given field has a value that falls into the corresponding range.

        For each bucket, the document count is computed, or more complex metrics or sub-aggregations for backends that support it.

        Returns:
        The next step.
      • terms

        TermsAggregationFieldStep<?> terms()
        Perform aggregation in term buckets.

        Given a field, this aggregation creates one bucket per term of that field in the index, and puts in each bucket every document for which the given field matches the corresponding term.

        For each bucket, the document count is computed, or more complex metrics or sub-aggregations for backends that support it.

        Returns:
        The next step.
      • extension

        <T> T extension​(SearchAggregationFactoryExtension<T> extension)
        Extend the current factory with the given extension, resulting in an extended factory offering different types of aggregations.
        Type Parameters:
        T - The type of factory provided by the extension.
        Parameters:
        extension - The extension to the aggregation DSL.
        Returns:
        The extended factory.
        Throws:
        SearchException - If the extension cannot be applied (wrong underlying backend, ...).