anchor.diff:      "location" : {
           "type" : "multipolygon",
           "coordinates" : [
  -            [[[102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0], [102.0, 2.0]]],
  -            [[[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]],
  -            [[100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2]]]
  -        ]
  -    }
  -}
  ---------------------------------------------------
  +            [ [[102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0], [102.0, 2.0]] ],
  +
  +            [ [[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]],
  +              [[100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2]] ]
  +        ]
  +    }
  +}
  +--------------------------------------------------
  +
  +[float]
  +===== Envelope
  +
  +Elasticsearch supports an `envelope` type, which consists of coordinates
  +for upper left and lower right points of the shape to represent a
  +bounding rectangle:
  +
  +[source,js]
  +--------------------------------------------------
  +{
  +    "location" : {
  +        "type" : "envelope",
  +        "coordinates" : [ [-45.0, 45.0], [45.0, -45.0] ]
  +    }
  +}
  +--------------------------------------------------
  +
  +[float]
  +===== Circle
  +
  +Elasticsearch supports a `circle` type, which consists of a center
  +point with a radius:
  +
  +[source,js]
  +--------------------------------------------------
  +{
  +    "location" : {
  +        "type" : "circle",
  +        "coordinates" : [-45.0, 45.0],
  +        "radius" : "100m"
  +    }
  +}
  +--------------------------------------------------
  +
  +Note: The inner `radius` field is required. If not specified, then
  +the units of the `radius` will default to `METERS`.
   
   [float]
   ==== Sorting and Retrieving index Shapes
  
positive.code: [float]
  ==== Input Structure
  
  The http://www.geojson.org[GeoJSON] format is used to represent Shapes
  as input as follows:
  
  [source,js]
  --------------------------------------------------
  {
      "location" : {
          "type" : "point",
          "coordinates" : [45.0, -45.0]
      }
  }
  --------------------------------------------------
  
  Note, both the `type` and `coordinates` fields are required.
  
  The supported `types` are `point`, `linestring`, `polygon`, `multipoint`
  and `multipolygon`.
  
  Note, in geojson the correct order is longitude, latitude coordinate
  arrays. This differs from some APIs such as e.g. Google Maps that
  generally use latitude, longitude.
  
  [float]
  ===== Envelope
  
  Elasticsearch supports an `envelope` type which consists of coordinates
  for upper left and lower right points of the shape:
  
  [source,js]
  --------------------------------------------------
  {
      "location" : {
          "type" : "envelope",
          "coordinates" : [[-45.0, 45.0], [45.0, -45.0]]
      }
  }
  --------------------------------------------------
  
  [float]
  ===== http://www.geojson.org/geojson-spec.html#id4[Polygon]
  
  A polygon is defined by a list of a list of points. The first and last
  points in each (outer) list must be the same (the polygon must be closed).
  
  [source,js]
  --------------------------------------------------
  
negative.code: --------------------------------------------------
  
  [float]
  ===== http://www.geojson.org/geojson-spec.html#id5[MultiPoint]
  
  A list of geojson points.
  
  [source,js]
  --------------------------------------------------
  {
      "location" : {
          "type" : "multipoint",
          "coordinates" : [
              [102.0, 2.0], [103.0, 2.0]
          ]
      }
  }
  --------------------------------------------------
  
  [float]
  ===== http://www.geojson.org/geojson-spec.html#id6[MultiLineString]
  
  A list of geojson linestrings.
  
  [source,js]
  --------------------------------------------------
  {
      "location" : {
          "type" : "multilinestring",
          "coordinates" : [
              [ [102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0] ],
              [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0] ],
              [ [100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8] ]
          ]
      }
  }
  --------------------------------------------------
  
  [float]
  ===== http://www.geojson.org/geojson-spec.html#id7[MultiPolygon]
  
  A list of geojson polygons.
  