From 761cc6c21474d6b56999ef7d4b5fc63c360a92c5 Mon Sep 17 00:00:00 2001 From: Shay Banon Date: Mon, 7 May 2012 20:29:03 +0300 Subject: [PATCH] Binary field is stored by default, allow to disable it, closes #1919. --- .../index/mapper/core/BinaryFieldMapper.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/elasticsearch/index/mapper/core/BinaryFieldMapper.java b/src/main/java/org/elasticsearch/index/mapper/core/BinaryFieldMapper.java index ee61f11271e..68756688793 100644 --- a/src/main/java/org/elasticsearch/index/mapper/core/BinaryFieldMapper.java +++ b/src/main/java/org/elasticsearch/index/mapper/core/BinaryFieldMapper.java @@ -49,6 +49,7 @@ public class BinaryFieldMapper extends AbstractFieldMapper { public static class Defaults extends AbstractFieldMapper.Defaults { public static final long COMPRESS_THRESHOLD = -1; + public static final Field.Store STORE = Field.Store.YES; } public static class Builder extends AbstractFieldMapper.Builder { @@ -59,6 +60,7 @@ public class BinaryFieldMapper extends AbstractFieldMapper { public Builder(String name) { super(name); + store = Defaults.STORE; builder = this; } @@ -79,7 +81,7 @@ public class BinaryFieldMapper extends AbstractFieldMapper { @Override public BinaryFieldMapper build(BuilderContext context) { - return new BinaryFieldMapper(buildNames(context), compress, compressThreshold); + return new BinaryFieldMapper(buildNames(context), store, compress, compressThreshold); } } @@ -111,8 +113,8 @@ public class BinaryFieldMapper extends AbstractFieldMapper { private long compressThreshold; - protected BinaryFieldMapper(Names names, Boolean compress, long compressThreshold) { - super(names, Field.Index.NO, Field.Store.YES, Field.TermVector.NO, 1.0f, true, true, null, null); + protected BinaryFieldMapper(Names names, Field.Store store, Boolean compress, long compressThreshold) { + super(names, Field.Index.NO, store, Field.TermVector.NO, 1.0f, true, true, null, null); this.compress = compress; this.compressThreshold = compressThreshold; } @@ -157,6 +159,9 @@ public class BinaryFieldMapper extends AbstractFieldMapper { @Override protected Field parseCreateField(ParseContext context) throws IOException { + if (!stored()) { + return null; + } byte[] value; if (context.parser().currentToken() == XContentParser.Token.VALUE_NULL) { return null;