From 0a4159dc0f0a107db5135046832f90d3ce3aad9a Mon Sep 17 00:00:00 2001 From: Sylvain Wallez Date: Mon, 6 Mar 2023 13:53:31 +0100 Subject: [PATCH] Add default variant to Analyzer --- .../_types/analysis/Analyzer.java | 2 +- .../elasticsearch/model/VariantsTest.java | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/Analyzer.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/Analyzer.java index ed8885281..0d8f35b47 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/Analyzer.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/Analyzer.java @@ -628,7 +628,7 @@ protected static void setupAnalyzerDeserializer(ObjectDeserializer op) builder._custom(name, JsonData._DESERIALIZER.deserialize(parser, mapper)); }); - op.setTypeProperty("type", null); + op.setTypeProperty("type", "custom"); } diff --git a/java-client/src/test/java/co/elastic/clients/elasticsearch/model/VariantsTest.java b/java-client/src/test/java/co/elastic/clients/elasticsearch/model/VariantsTest.java index c23b08f18..7502a5aa6 100644 --- a/java-client/src/test/java/co/elastic/clients/elasticsearch/model/VariantsTest.java +++ b/java-client/src/test/java/co/elastic/clients/elasticsearch/model/VariantsTest.java @@ -19,6 +19,7 @@ package co.elastic.clients.elasticsearch.model; +import co.elastic.clients.elasticsearch._types.analysis.Analyzer; import co.elastic.clients.elasticsearch._types.mapping.Property; import co.elastic.clients.elasticsearch._types.mapping.TypeMapping; import co.elastic.clients.elasticsearch._types.query_dsl.FunctionScore; @@ -29,6 +30,8 @@ import co.elastic.clients.json.JsonData; import org.junit.jupiter.api.Test; +import java.util.function.Consumer; + public class VariantsTest extends ModelTestCase { @Test @@ -102,6 +105,24 @@ public void testInternalTag() { assertTrue(property.ip().fields().get("a-field").float_().coerce()); } + @Test + public void testDefaultInternalTag() { + + Consumer test = s -> { + Analyzer a = fromJson(s, Analyzer.class); + assertEquals(Analyzer.Kind.Custom, a._kind()); + assertEquals("some-filter", a.custom().filter().get(0)); + assertTrue(a.custom().charFilter().isEmpty()); + assertEquals("some-tokenizer", a.custom().tokenizer()); + }; + + // Explicit type + test.accept("{\"type\":\"custom\",\"filter\":[\"some-filter\"],\"tokenizer\":\"some-tokenizer\"}"); + + // Default type + test.accept("{\"filter\":[\"some-filter\"],\"tokenizer\":\"some-tokenizer\"}"); + } + @Test public void testBuilders() { String json = "{\"exists\":{\"field\":\"foo\"}}";