Feat/Add support for weighted average aggregation #197
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issues
resolves #154
Aim
Add support for weight average aggregations released in v6.4.0 release notes
A weighted average is
∑(value * weight) / ∑(weight)
Solution
WeightedAverageAggregation
class which extendsMetricsAggregationBase
.value
andweight
to allow the user to set these metrics. The metric can be a string (for a field name), or a script. They both accept an optional second param to set the missing property. Alternatively, the user can setvalue
andweight
when constructing the class - but cannot set missing.script
,field
, andmissing
as these did not make sense as top level methods for this aggregation.Example
Would produce a query with:
Alternatively.
Would produce a query with: