-
Notifications
You must be signed in to change notification settings - Fork 24.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add time_series_metric parameter #76766
Conversation
So that it's reusable. Added more tests
Pinging @elastic/es-search (Team:Search) |
Pinging @elastic/es-analytics-geo (Team:Analytics) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks good to me in general. I have only a couple of comments. I think some integration level tests, maybe even rest test could be helpful, so we have some clear examples how this is used. It also looks like long fields can be metrics and dimensions at the same time, not sure if this is intentional. It would be great if @nik9000 could review it since he is working with this at the moment.
I'm not 100% sure we'll keep allowing |
We will not keep it as part of routing... but nothing prevents us from keeping it as non-routing dimension. |
server/src/main/java/org/elasticsearch/index/mapper/NumberFieldMapper.java
Outdated
Show resolved
Hide resolved
...r/src/test/java/org/elasticsearch/search/aggregations/bucket/range/RangeAggregatorTests.java
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/index/mapper/NumberFieldMapper.java
Outdated
Show resolved
Hide resolved
Now that multiple validators are supported (elastic#77073) we can add a new validator instead of replacing the default param validator.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
Sorry for the delay!
This PR adds the time_series_metric parameter to the following field types: Numeric field types histogram aggregate_metric_double
…tic#78012) This PR renames dimension mapping parameter to time_series_dimension to make it consistent with time_series_metric parameter (elastic#76766) Relates to elastic#74450 and elastic#74014
…#78204) Added the time_series_metric mapping parameter to the unsigned_long and scaled_float field types Added the time_series_dimension mapping parameter to the unsigned_long field type Fixes elastic#78100 Relates to elastic#76766, elastic#74450 and elastic#74014
…rameters (#78265) Backports the following PRs: * Add dimension mapping parameter (#74450) Added the dimension parameter to the following field types: keyword ip Numeric field types (integer, long, byte, short) The dimension parameter is of type boolean (default: false) and is used to mark that a field is a time series dimension field. Relates to #74014 * Add constraints to dimension fields (#74939) This PR adds the following constraints to dimension fields: It must be an indexed field and must has doc values It cannot be multi-valued The number of dimension fields in the index mapping must not be more than 16. This should be configurable through an index property (index.mapping.dimension_fields.limit) keyword fields cannot be more than 1024 bytes long keyword fields must not use a normalizer Based on the code added in PR #74450 Relates to #74660 * Expand DocumentMapperTests (#76368) Adds a test for setting the maximum number of dimensions setting and tests the names and types of the metadata fields in the index. Previously we just asserted the count of metadata fields. That made it hard to read failures. * Fix broken test for dimension keywords (#75408) Test was failing because it was testing 1024 bytes long keyword and assertion was failing. Closes #75225 * Checkstyle * Add time_series_metric parameter (#76766) This PR adds the time_series_metric parameter to the following field types: Numeric field types histogram aggregate_metric_double * Rename `dimension` mapping parameter to `time_series_dimension` (#78012) This PR renames dimension mapping parameter to time_series_dimension to make it consistent with time_series_metric parameter (#76766) Relates to #74450 and #74014 * Add time series params to `unsigned_long` and `scaled_float` (#78204) Added the time_series_metric mapping parameter to the unsigned_long and scaled_float field types Added the time_series_dimension mapping parameter to the unsigned_long field type Fixes #78100 Relates to #76766, #74450 and #74014 Co-authored-by: Nik Everett <nik9000@gmail.com>
This PR adds the
time_series_metric
parameter to the following field types:histogram
aggregate_metric_double
The
time_series_metric
parameter is of type string (default is null) and is used to mark that a field is a time series metric field with a specific metric type. The following metric types are supported for each Elasticsearch field type:aggregate_metric_double
aggregate_metric_double
histogram
aggregate_metric_double
Example of setting the
time_series_metric
parameter to a field can be seen here:This PR together with #74450 annotate which Elasticsearch fields are time series dimensions or metrics.
Closes #74014