diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonBooleanFieldMapper.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonBooleanFieldMapper.java index b7e25ce15f9..fddf6ad6d68 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonBooleanFieldMapper.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonBooleanFieldMapper.java @@ -119,6 +119,9 @@ public class JsonBooleanFieldMapper extends JsonFieldMapper { } @Override protected Field parseCreateField(JsonParseContext jsonContext) throws IOException { + if (!indexed() && !stored()) { + return null; + } JsonToken token = jsonContext.jp().getCurrentToken(); String value = null; if (token == JsonToken.VALUE_FALSE) { diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonFieldMapper.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonFieldMapper.java index 6859c9961e9..039ba6ace5b 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonFieldMapper.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonFieldMapper.java @@ -267,9 +267,6 @@ public abstract class JsonFieldMapper implements FieldMapper, JsonMapper { } @Override public void parse(JsonParseContext jsonContext) throws IOException { - if (!indexed() && !stored()) { - return; - } Field field = parseCreateField(jsonContext); if (field == null) { return; diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonStringFieldMapper.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonStringFieldMapper.java index 0870ce8e78c..5ea2c9dc85e 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonStringFieldMapper.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonStringFieldMapper.java @@ -109,6 +109,9 @@ public class JsonStringFieldMapper extends JsonFieldMapper implements Js if (includeInAll == null || includeInAll) { jsonContext.allEntries().addText(names.fullName(), value, boost); } + if (!indexed() && !stored()) { + return null; + } return new Field(names.indexName(), value, store, index, termVector); }