diff --git a/server/src/main/java/org/elasticsearch/index/mapper/AbstractGeometryFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/AbstractGeometryFieldMapper.java index f96fd9269d8..18a5d71f5c3 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/AbstractGeometryFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/AbstractGeometryFieldMapper.java @@ -286,11 +286,6 @@ public abstract class AbstractGeometryFieldMapper extends Fie protected abstract void addDocValuesFields(String name, Processed geometry, List fields, ParseContext context); protected abstract void addMultiFields(ParseContext context, Processed geometry) throws IOException; - @Override - public final boolean parsesArrayValue() { - return true; - } - /** parsing logic for geometry indexing */ @Override public void parse(ParseContext context) throws IOException { diff --git a/server/src/main/java/org/elasticsearch/index/mapper/AbstractPointGeometryFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/AbstractPointGeometryFieldMapper.java index e8c2135e40e..68682ffc8c7 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/AbstractPointGeometryFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/AbstractPointGeometryFieldMapper.java @@ -130,6 +130,11 @@ public abstract class AbstractPointGeometryFieldMapper extend this.nullValue = nullValue; } + @Override + public final boolean parsesArrayValue() { + return true; + } + @Override protected void mergeOptions(FieldMapper other, List conflicts) { AbstractPointGeometryFieldMapper gpfm = (AbstractPointGeometryFieldMapper)other; diff --git a/server/src/main/java/org/elasticsearch/index/mapper/AbstractShapeGeometryFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/AbstractShapeGeometryFieldMapper.java index 43bba0078eb..942223bbe66 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/AbstractShapeGeometryFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/AbstractShapeGeometryFieldMapper.java @@ -198,6 +198,11 @@ public abstract class AbstractShapeGeometryFieldMapper extend this.orientation = orientation; } + @Override + public final boolean parsesArrayValue() { + return false; + } + @Override protected final void mergeOptions(FieldMapper other, List conflicts) { AbstractShapeGeometryFieldMapper gsfm = (AbstractShapeGeometryFieldMapper)other; diff --git a/server/src/test/java/org/elasticsearch/index/mapper/GeoShapeFieldMapperTests.java b/server/src/test/java/org/elasticsearch/index/mapper/GeoShapeFieldMapperTests.java index 31925c2f992..1dc81d6f28c 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/GeoShapeFieldMapperTests.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/GeoShapeFieldMapperTests.java @@ -18,13 +18,16 @@ */ package org.elasticsearch.index.mapper; +import org.apache.lucene.index.IndexableField; import org.elasticsearch.common.Explicit; import org.elasticsearch.common.Strings; +import org.elasticsearch.common.bytes.BytesReference; import org.elasticsearch.common.compress.CompressedXContent; import org.elasticsearch.common.geo.builders.ShapeBuilder; import org.elasticsearch.common.xcontent.ToXContent; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentFactory; +import org.elasticsearch.common.xcontent.XContentType; import org.elasticsearch.plugins.Plugin; import org.elasticsearch.test.InternalSettingsPlugin; import org.elasticsearch.test.TestGeoShapeFieldMapperPlugin; @@ -38,6 +41,7 @@ import java.util.Set; import static org.elasticsearch.index.mapper.AbstractGeometryFieldMapper.Names.IGNORE_Z_VALUE; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.instanceOf; public class GeoShapeFieldMapperTests extends FieldMapperTestCase { @@ -302,6 +306,43 @@ public class GeoShapeFieldMapperTests extends FieldMapperTestCase { @@ -394,6 +400,43 @@ public class GeoShapeWithDocValuesFieldMapperTests extends FieldMapperTestCase