Skip to content

Conversation

@nik9000
Copy link
Member

@nik9000 nik9000 commented May 28, 2020

When the terms enum operates on non-numeric data it can collect it via
global ordinals. It actually has two separate collection strategies for,
one "dense" and one "remapping". Each of those strategies has two
"iteration" strategies that it uses to build buckets, depending on
whether or not we need buckets with 0 docs in them. Previously this
was done with several null checks and never really explained. This
change replaces those checks with two CollectionStrategy classes which
have good stuff like documentation.

When the `terms` enum operates on non-numeric data it can collect it via
global ordinals. It actually has two separate collection strategies for,
one "dense" and one "remapping". Each of *those* strategies has two
"iteration" strategies that it uses to build buckets, depending on
whether or not we need buckets with `0` docs in them. Previously this
was done with several `null` checks and never really explained. This
change replaces those checks with two `CollectionStrategy` classes which
have good stuff like documentation.
@nik9000 nik9000 merged commit b9fe108 into elastic:7.x May 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant