Heutzutage gibt es für Bucket- und Metrik-Aggregationen nur sehr wenig Unit-Test-Abdeckung. Diese Metaausgabe soll das deutlich verbessern. Für jede Aggregation sollten wir weitere Unit-Tests für den Aggregator hinzufügen (wie er mit dem Lucene-Index über org.apache.lucene.search.Collector
interagiert, die jede Aggregation implementiert), die Logik und die Serialisierung der Aggregationsergebnisse reduzieren.
Wir sollten Unit-Tests für die folgenden Aggregator
Implementierungen hinzufügen:
ParentToChildrenAggregator
@cbuescher #23305FilterAggregator
@colings86 #23826FiltersAggregator
@jimczi #22678GeoHashGridAggregator
@martijnvg #23417GlobalAggregator
@nik9000 #22668DateHistogramAggregator
@tlrx #22714HistogramAggregator
@jpountz #22961MissingAggregator
@jimczi #23895NestedAggregator
@polyfractalReverseNestedAggregator
@cbuescherRangeAggregator
(auch testen mit DateRangeAggregationBuilder
und GeoDistanceAggregationBuilder
) @tlrx #24569BinaryRangeAggregator
(auch testen mit IpRangeAggregationBuilder
) @jimczi #23255DiversifiedBytesHashSamplerAggregator
, DiversifiedMapSamplerAggregator
, DiversifiedNumericSamplerAggregator
und DiversifiedOrdinalsSamplerAggregator
. @martijnvg #23511SamplerAggregator
@nik9000 #23243GlobalOrdinalsSignificantTermsAggregator
, GlobalOrdinalsSignificantTermsAggregator.WithHash
, SignificantLongTermsAggregator
und SignificantStringTermsAggregator
. @markharwood #24904DoubleTermsAggregator
, GlobalOrdinalsStringTermsAggregator. LowCardinality
, GlobalOrdinalsStringTermsAggregator. WithHash
, LongTermsAggregator
und StringTermsAggregator
. @martijnvg #24949BestBucketsDeferringCollector
@MaineC #23511BestDocsDeferringCollector
@polyfractal #23511AvgAggregator
@cbuescher #23000CardinalityAggregator
@colings86 #23826GeoBoundsAggregator
@jimczi #23259GeoCentroidAggregator
@martijnvg #24111MaxAggregator
@nik9000 #22668MinAggregator
[ MvG ] #22279TDigestPercentilesAggregator
und HDRPercentilesAggregator
@tlrx #24245TDigestPercentileRanksAggregator
und HDRPercentileRanksAggregator
. @jpountz #23240ScriptedMetricAggregator
@cbuescher #23404StatsAggregator
@jimcziExtendedStatsAggregator
@jimcziSumAggregator
@martijnvg #22954TopHitsAggregator
@nik9000 #22754ValueCountAggregator
@tlrx #22741MatrixStatsAggregator
@martijnvg #24837Wir sollten auch Tests für die folgenden InternalAggregation
Implementierungen hinzufügen:
(um die Reduzier- und Ergebnisserialisierungslogik zu testen)
InternalChildren
@cbuescher #23261InternalFilter
@colings86 #23388InternalFilters
@jimczi #22678InternalGeoHashGrid
@martijnvg #23417InternalGlobal
@nik9000 #23388InternalHistogram
@jpountz #22961InternalDateHistogram
@tlrx #23402InternalMissing
@MaineC #23388InternalNested
@polyfractal #23388InternalReverseNested
@cbuescher #23388InternalRange
, InternalDateRange
, InternalGeoDistance
. @tlrx #24569InternalBinaryRange
@jimczi #23259InternalSampler
@martijnvg edada2581e75400da9fac82bdfbc7ec1f02ef0d8SignificantLongTerms
und SignificantStringTerms
. @tlrx #23428DoubleTerms
, LongTerms
, StringTerms
und UnmappedTerms
. @jpountz #23149InternalAvg
@cbuescher #23000InternalCardinality
@colings86 #23826InternalGeoBounds
@jimczi #23259InternalGeoCentroid
@martijnvg #24176InternalMax
@nik9000 #22668InternalMin
@colings86 + @nik9000 #22668InternalTDigestPercentiles
(#24090) und InternalHDRPercentiles
(#24157) @tlrxInternalTDigestPercentileRanks
und InternalHDRPercentileRanks
. @jpountz #23240InternalScriptedMetric
@cbuescher #23330InternalStats
@jimcziInternalExtendedStats
@jimcziInternalSum
@martijnvg #22954InternalTopHits
@nik9000InternalValueCount
@tlrx #22741InternalMatrixStats
@martijnvg #24559Ich habe möglicherweise einige Klassen vergessen, bitte aktualisieren Sie dieses Problem, wenn dies der Fall ist :)
Ich habe die InternalAggregation
Implementierungen getrennt von den Aggregator
Implementierungen aufgelistet, da Unit-Tests für jede von verschiedenen Entwicklern parallel geschrieben werden können. Ich denke jedoch, dass für die weniger komplexen Aggregationen Unit-Tests sowohl für die InternalAggregation
Implementierung als auch für die Aggregator
Implementierungen im selben PR hinzugefügt werden können.
Ich denke, dass zumindest die Unit-Tests dem Master-Zweig hinzugefügt werden sollten. Das Zurückportieren auf den 5.x-Zweig ist die beste Anstrengung und sollte nur in Betracht gezogen werden, wenn es sich um niedrig hängende Früchte handelt.
Ich schlage vor, dass wir wie folgt vorgehen, um zu vermeiden, dass versehentlich doppelte Arbeit geleistet wird:
Beachten Sie, dass Aggregationen getestet werden, aber aufgrund der Strukturierung des Codes war der Unit-Test wirklich schwierig.
Würde es jemandem etwas ausmachen, wenn ich an etwas für alle Unterklassen oder InternalSingleBucketAggregation
arbeite? Ich könnte viele Kontrollkästchen anklicken.....
Würde es jemandem etwas ausmachen, wenn ich an etwas für alle Unterklassen oder InternalSingleBucketAggregation arbeite? Ich könnte viele Kontrollkästchen anklicken.....
Ich habe #23388 zusammengeführt.
Alle Aufgaben für dieses Ticket sind nun erledigt 🎉
Hilfreichster Kommentar
Alle Aufgaben für dieses Ticket sind nun erledigt 🎉