From a285bfc4f2e51bb532c4c57cb636013ba01161f3 Mon Sep 17 00:00:00 2001 From: Christos Soulios Date: Thu, 29 Jul 2021 19:19:51 +0300 Subject: [PATCH 01/11] Added metric mapping parameter for Number fields --- .../index/mapper/NumberFieldMapper.java | 68 +++++++++++++++++-- .../fielddata/IndexFieldDataServiceTests.java | 4 +- .../index/mapper/NumberFieldMapperTests.java | 31 +++++++++ .../index/mapper/NumberFieldTypeTests.java | 2 +- .../aggregations/AggregatorBaseTests.java | 3 +- .../bucket/filter/FiltersAggregatorTests.java | 6 +- .../bucket/range/RangeAggregatorTests.java | 9 ++- .../search/collapse/CollapseBuilderTests.java | 4 +- 8 files changed, 110 insertions(+), 17 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/index/mapper/NumberFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/NumberFieldMapper.java index e66f829c9cfc9..d0ce555729b12 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/NumberFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/NumberFieldMapper.java @@ -63,6 +63,18 @@ /** A {@link FieldMapper} for numeric types: byte, short, int, long, float and double. */ public class NumberFieldMapper extends FieldMapper { + public enum MetricType { + gauge, + counter; + + public static MetricType fromString(String name) { + return Arrays.stream(values()) + .filter(v -> v.name().equalsIgnoreCase(name)) + .findFirst() + .orElse(null); + } + } + public static final Setting COERCE_SETTING = Setting.boolSetting("index.mapping.coerce", true, Property.IndexScope); @@ -84,7 +96,7 @@ public static class Builder extends FieldMapper.Builder { private final Parameter