From 30a8f9d948050a2ca0fb93499471d8aee782c774 Mon Sep 17 00:00:00 2001 From: Julie Tibshirani Date: Mon, 4 Jun 2018 08:42:32 -0700 Subject: [PATCH] Make sure KeywordFieldMapper#clone preserves split_queries_on_whitespace. (#31049) --- .../index/mapper/KeywordFieldMapper.java | 2 +- .../index/mapper/KeywordFieldTypeTests.java | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/index/mapper/KeywordFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/KeywordFieldMapper.java index de2aee326c7..9c334f79551 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/KeywordFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/KeywordFieldMapper.java @@ -198,7 +198,7 @@ public final class KeywordFieldMapper extends FieldMapper { protected KeywordFieldType(KeywordFieldType ref) { super(ref); this.normalizer = ref.normalizer; - this.splitQueriesOnWhitespace = splitQueriesOnWhitespace; + this.splitQueriesOnWhitespace = ref.splitQueriesOnWhitespace; } public KeywordFieldType clone() { diff --git a/server/src/test/java/org/elasticsearch/index/mapper/KeywordFieldTypeTests.java b/server/src/test/java/org/elasticsearch/index/mapper/KeywordFieldTypeTests.java index 809ceb58310..a291062c7a5 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/KeywordFieldTypeTests.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/KeywordFieldTypeTests.java @@ -52,8 +52,15 @@ public class KeywordFieldTypeTests extends FieldTypeTestCase { public void setupProperties() { addModifier(new Modifier("normalizer", false) { @Override - public void modify(MappedFieldType ft) { - ((KeywordFieldType) ft).setNormalizer(Lucene.KEYWORD_ANALYZER); + public void modify(MappedFieldType type) { + ((KeywordFieldType) type).setNormalizer(Lucene.KEYWORD_ANALYZER); + } + }); + addModifier(new Modifier("split_queries_on_whitespace", true) { + @Override + public void modify(MappedFieldType type) { + KeywordFieldType keywordType = (KeywordFieldType) type; + keywordType.setSplitQueriesOnWhitespace(!keywordType.splitQueriesOnWhitespace()); } }); }